Estoy buscando una forma de escribir una declaración de SQL en C# dirigida a diferentes proveedores. Un ejemplo típico de diferenciación de sentencias SQL es LIMIT in PostgreSQL frente a TOP in MSSQL.Creador de SQL genérico .NET
Es la única forma de resolver la sintaxis SQL como las dos anteriores para escribir sentencias if dependiendo de qué proveedor selecciona el usuario o usar declaraciones catch catch como control de flujo (LIMIT no funcionó, lo intentaré TOP en su lugar)? He visto el método LINQ Take, pero me pregunto si se puede hacer esto sin LINQ.
En otras palabras, ¿tiene C# alguna clase de proveedor de SQL genérico que no he podido encontrar que pueda usarse?
¿Por qué no quieres usar LINQ? –
Hay muchas maneras de resolver estas diferencias, ¿está seguro de que usar SQL es la manera de hacerlo, es decir, encontrar algún sistema que le permita escribir una declaración SQL que funcione en diferentes proveedores? –
@Mark Byers: Bueno, a menudo me estoy enfocando en .NET 2 y, hasta donde yo sé, LINQ no funciona tan bien allí. Históricamente, esto se debía a que quería poder realizar un cambio en Mono sin ningún tipo de fuzz, y luego simplemente me "atascaron". Como Mono funciona bien con LINQ hoy en día, realmente no puedo dar ninguna otra buena respuesta por la que sigo viviendo en el pasado ... – Patrick