Soy nuevo en CSLA y Entity Framework. Estoy creando una nueva aplicación CSLA/Silverlight que reemplazará un sistema Win32 C++ de 12 años. El sistema anterior usa una biblioteca de objetos comerciales DCOM personalizada y utiliza ODBC para llegar a SQL Server. El nuevo sistema no reemplazará inmediatamente el sistema anterior; deben coexistir con la misma base de datos en los próximos años.debería usar Entity Framework en lugar de raw ADO.NET
Al principio pensé que EF era el camino a seguir, ya que es el último y el mejor. Después de hacer un pequeño modelo EF y solo 2 objetos raíz editables de CSLA (eventualmente tendré cientos de objetos ya que mi base de datos tiene más de 800 tablas) estoy cuestionando seriamente el uso de EF.
En el sistema actual, tengo la necesidad muchas veces de hacer un ajuste preciso del rendimiento de las consultas que puedo hacer debido al 100% de control de SQL generado. Pero parece que en EF sucede tanto detrás de escena que pierdo ese control. Artículo como http://toomanylayers.blogspot.com/2009/01/entity-framework-and-linq-to-sql.html no ayuda mi impresión de EF.
Parece que a las personas les gusta EF debido a LINQ to EF pero dado que mi criterio se pasa entre el cliente y el servidor como objeto de criterio, parece que podría generar consultas con la misma facilidad sin LINQ. Entiendo en WCF RIA que hay una proyección de consultas (o algo así) donde puedo hacer LINQ del lado del cliente que se mueve al servidor antes de la traducción al SQL real, así que en ese caso puedo ver el beneficio de EF, pero no en CSLA .
Si utilizo ADO.NET sin procesar, ¿lamentaré mi decisión dentro de 5 años?
¿Alguien más ha hecho esta elección recientemente y de qué manera fuiste?
Gran pregunta ... Estaba a punto de hacer una muy similar. Me he estado preguntando cuál es la ventaja de EF sobre la velocidad y el control de ADO.NET ... – Walter