2011-03-12 22 views
7

Hola He programado un poco de C#, pero nunca con una base de datos. Me gustaría usar SQL Server con C# con algo de framework. Microsoft parece haber enviado varios marcos a lo largo de la vida útil de C#. Esto me dificulta buscar/elegir.Recomendaciones para el acceso a la base de datos C#

¿Cuál debo elegir? Estoy desarrollando una simple aplicación web de 3 niveles. He visto algunos videos de Entity Framework .Net 4.0, pero tengo la sensación de que las cosas son demasiado automáticas. Necesito hacer algo de SQL de vez en cuando ..

Y si debería ir a por el EF4.0, ¿es realmente la mejor referencia http://msdn.microsoft.com/en-us/library/bb386876.aspx

¿Alguna recomendación?

+1

http://weblogs.asp.net/zeeshanhirani/archive/2008/12/18/my-christmas-present-to-the-entity-framework-community.aspx parece un gran libro de pdf gratuito en EF –

+0

Gran enlace, ¡gracias! –

+0

posible duplicado de [nhibernate, entidad marco, registros activos o linq2sql] (http://stackoverflow.com/questions/1377236/nhibernate-entity-framework-active-records-or-linq2sql) –

Respuesta

6

Vaya con Entity Framework 4 - es el mejor enfoque actual y futuro para la base de datos de SQL Server. Es la base de WCF Data Services, y la idea de un modelo conceptual se mostrará en otros productos de Microsoft, con seguridad (Reporting Services y otros, posiblemente).

Y le da muchos ganchos que le permiten ejecutar declaraciones SQL "sobre la marcha", y también puede integrar muy bien los procedimientos almacenados en Entity Framework.

Y para las tareas cotidianas de "correr del molino", le ofrece agradables objetos C#, basados ​​en su base de datos, para trabajar.

En mi opinión, esta es su mejor opción actualmente, y la que tiene más flexibilidad y opciones. Puede comenzar con una base de datos ("base de datos primero") y crear sus clases a partir de tablas existentes; o puede comenzar con un modelo y tener EF4 generando su base de datos por usted, y EF v4.1 (que saldrá pronto) también ofrecerá desarrollo "primero en código" donde ni siquiera necesita un modelo visual pero puede describir todos sus objetos y configuraciones de base de datos en solo código C#.

Actualización:

+0

¿conoce alguna buena URL? –

+0

@Carlo V. Dango: actualicé mi publicación con algunos enlaces URL –

2

yo diría inicio con Rob Conery Sub de sonic .. Es fácil comenzar Repositorio with..specillaly simple ..

sitio Enlace: http://www.subsonicproject.com/

Repositorio simple usando Sub sonic: http://subsonicproject.com/docs/Simple_Repo_5_Minute_Demo

Actualización: He visto una respuesta que menciona NHibernate y quiero agregar una pequeña adición a la misma ...y desde OP mentinoned que tiene buena experiencia con C# que se supone que tiene buena OOPS conocimiento y también los amongs relaciones objetos

personalmente me pareció mucho más fácil comenzar con NHibernate cuando se usa con Fluido NHibernate por lo tanto, me gustaría también sugieren

C# + NHibernate + Fluent Nhibernate ....

+1

sí http://subsonicproject.com/docs/Simple_Repo_5_Minute_Demo se ve bien ... pero siempre me pongo sospechoso cuando los ejemplos/videos muestran insert/delete/fetch simple. ¿Qué pasó con las uniones y las cláusulas where? tal vez incluso una selección anidada? –

+0

El video en el sitio es bueno para empezar y creo que hay muchos recursos en línea que pueden ayudar a avanzar con más combinaciones, etc. ... – Chandu

2

C# + ActiveRecord + NHibernate. Ocultar la implementación detrás de varios servicios WCF.

2

Dijiste que quieres probar un poco de 'framework', por lo que Entity Framework es ese. Es el resultado de las mejores prácticas que surgen después de años de investigación. Por supuesto, en el camino, siempre puede usar SQL (Dataset) en cualquier momento que desee junto con EF (principalmente para la optimización del rendimiento).

+0

¿conoce alguna buena URL? –

1

Eche un vistazo a here para obtener información sobre el rendimiento/puntos de referencia en varios marcos ORM para .Net.

Cuestiones relacionadas