Uso eficiente de Entity Framework en grandes conjuntos de datos

Tengo un gran conjunto de datos en mi contexto de Entity Framework: table1 y un gran List<T>, necesito contar los mismos valores en la tabla1/lista1 anterior.

Puedo hacerlo de dos maneras diferentes:

  1. jointCollection=table1.union(list1) - y comprobar: el valor de list1.count+table1.count-jointCollection.count...
  2. contar con select table1 with multi condition(list1.count)

Mi pregunta es ¿qué método es más eficiente?

preguntado el 28 de julio de 12 a las 08:07

Por favor, defina "en mi contexto"? ¿Está tratando de ser inteligente al cargar la tabla completa en la memoria en lugar de hacer lo que es sensato, es decir, pedirle a la base de datos que los cuente? -

mi contexto es mi tabla completa... adivinando por tu repetición no es tan inteligente... -

1 Respuestas

¡La mejor solución es ejecutar SQL Profiler mientras ejecuta cada uno y descubra!

Sin embargo, si la eficiencia es primordial, recomendaría usar un procedimiento almacenado importado a EF como una función, ya que Linq to Entities agrega una sobrecarga adicional.

Respondido 28 Jul 12, 08:07

Eso implica y supone que está usando SQL Server... lo cual es probable, pero no está claro a partir de la pregunta... EF también funciona contra otros sistemas RDBMS: marc_s

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.