2010-04-19 7 views

Respuesta

11

Trate DbExtensions, disponible como NuGet package.

+0

DbExtensions es fácil de usar. Sin embargo, tiene algunos problemas fundamentales de diseño. Primero, no tiene mucho deseo INSERTAR la función IGNORE INTO. En segundo lugar, es muy rígido. Cuando uno hace INSERT_INTO, no puede hacer INSERT_INTO ({0} ({1}, {2}), tableName, col1, col2) porque eso agregará comillas simples alrededor de los parámetros. En su lugar, debe usar la sobrecarga y básicamente el código duro en la cadena de entrada. Otro ejemplo es hacer los VALORES que usted o bien tiene que hacer VALORES (some_string) o hacer VALOR ({0} = {1}, col1, val1). Dicho esto, no es una biblioteca mala, pero deja mucho que desear. –

+0

@SomeNewbie Publica tus comentarios [aquí] (https://github.com/maxtoroq/DbExtensions/issues) y te ayudaré. –

0

siempre que construir mi propio ... es fácil y rápido y usted no tiene que depender de las bibliotecas 3 ª parte. Además, te ayuda a ser un poco más íntimo con SQL.

+1

Eso es cierto si usted es un programador, pero puedo ver que la biblioteca está utilizando para transmitir una GUI que permite a los no programadores/personas que ingresan datos crear consultas genéricas en una base de datos. Nunca podrán hacerlo * eficientemente * pero a veces es útil. –

+0

¿Te importa compartirlo? – SuperManSL

+1

¿Es realmente así de fácil? ¿Cómo manejas sub selects? ¿Hay una fuerte tipificación? ¿Unión? Aliasing? ¿Puede agrupar elementos en una cláusula where para que las declaraciones OR no anulen las declaraciones AND? Podría seguir. –

2

No es que esté al tanto de (aunque eso no significa que definitivamente no lo es).

¿Qué hay de Entity Framework? Permite la consulta que se construirá y se traduce a que SQL contra entidades:

customers.OrderBy(c => c.Name).Skip(10).Take(20) 

Genera:

SELECT value c 
FROM NW.Customers AS c 
ORDER BY c.Name skip 10 limit 20; 
+1

La aplicación en la que estoy trabajando está en .Net 2.0. Entonces EF no es una opción para mí. – Amitabh

+0

¿Se puede usar un orm completo como NHibernate? Te dará la posibilidad de generar consultas mediante API Criteria. –

+0

Estamos utilizando nHibernate 1.2 en nuestra aplicación, pero esta funcionalidad particular ha pasado por alto nHibernate por razones de rendimiento. – Amitabh

2

alguna irregularidad con LINQ to SQL?

var dc = new YourDataContext(); 
var query = dc.TableName.Where(x=>x.MatchesYourPredicate); 
Console.WriteLine(dc.GetCommand(query).CommandText); 
+0

El proyecto que necesitaba era el proyecto .Net 2.0. – Amitabh

+0

Eso apesta. Lo siento. – smartcaveman

+1

Además, los elementos filtrantes no siempre saben – Thea

Cuestiones relacionadas