I'm writing a new project in C# with a number of SQL queries in it. Some are relatively large and complex. I want to know what the best way to store them is. Ideally I would create stored procedures on the database, but the database is used by many other applications so it's better if I can keep the procedures which are specific to my application in my application.
Options seem to be:
- a string literal (
const string query ="Select * From MyTable"
)- Pros: simple, short
- Cons: no Syntax highlighting, messy for long queries
- Create a file for each query as
QueryName.sql
- Pros: syntax highlighting, neater for large, complex queries
- Cons: lots of files for lots of queries (one query per file), maybe slower to read query from content file?
- Any other ideas?
As an additional thought, is there a way to easily generate strongly typed class definitions from the SQL queries?