2010-12-04 13 views
12

Me preguntaba si hay alguna situación que sea más recomendable para usar ESQL?¿En qué situaciones debería usar Entity SQL?

En general, me parece frustrante ESQL (especialmente con todos los casos especiales en los que necesita calificar completamente un tipo de entidad) & probablemente todo lo que se hace utilizando ESQL se puede hacer a través de SQL o LINQ.

Pero me preguntaba de situaciones en las ESQL es un mejor ajuste para una solución o tendría una ventaja competitiva sobre el uso de SQL o LINQ (ya sea más fácil/más rápido al código, o mejor rendimiento, etc.)

Así , ¿cuál es el compromiso aquí? ¿Cuándo es mejor utilizar cada uno de los tres enfoques para consultar EF4?

Respuesta

22

encuentro que ESQL a ser bueno para casos extremos, por ejemplo:

  1. lugares en donde es realmente difícil de expresar algo en LINQ.
  2. Para la construcción muy búsquedas dinámicas.
  3. Si desea utilizar una función específica de la base de datos que expone el proveedor que está utilizando.

Además, si conoce Entity SQL, podrá expresar QueryViews y las Consultas definidas por modelo.

+3

+1 Gracias Julie, esperamos verte más aquí :) –

+2

Genial, eres el autor del marco de la entidad de programación. Ojalá SO tuviera una función de fan. – Luke101

+0

@ Luke..yes y blush y LOL –

1

Justo como lo que Julie mencionó. Esql debe escribir funciones definidas por el modelo que, a su vez, pueden utilizarse a través de LINQ para consultas de entidades. La mayoría de las mayúsculas estarás usando LINQ para Entidades. Otro caso en el que no puede usar LINQ TO Entities us cuando desea generar consultas con funciones de la tienda, ya sea buit in o UDF. En este caso, esql es la única forma en EF1, pero en EF4 puede usar sus funciones para exponer aquellas funciones que se utilizarán en LINQ. Acerca del rendimiento, esql tiene un mejor rendimiento. pero puede preferir la productividad usando Linq sobre la ganancia de rendimiento usando esql.

3

Me encontré con estas preguntas bastante similares (que no aparecieron cuando escribí el mío, anteriormente) en stack over flow, supongo que tienen discusiones más profundas (aunque T-SQL no se menciona mucho, pero es un poco aunque bastante obvio):

Tenga en cuenta que las dos preguntas son un poco "viejo" por lo que podría validar algunos de los datos en base a su conocimiento actual de EF4

Cuestiones relacionadas