2010-01-09 15 views

Respuesta

0

todas partes es diferente, es por eso. No hay una respuesta única para esta pregunta. Mire los otros enfoques y tome todo lo que encuentre útil para su situación.

2

Dado que va a utilizar una aplicación MVC, puede escribir fácilmente una capa de DataAccess debajo de la capa Controller. Eso lo convertirá en una aplicación en capas . Entonces esta podría ser la opción adecuada para su arquitectura.

Para la pregunta de LinQ-SQL o Entity Framework, he utilizado solo marcos Entity. Entonces no estoy seguro acerca de la opción de Linq a Sql. Pero hay ciertos problemas con Entity Framework cuando el esquema cambia. La actualización del edmx generado no ocurre correctamente cuando se renombran las columnas, etc. Entonces, lo que hago es eliminar y crear el edmx después de cada cambio de esquema y tienes que actualizar manualmente los cambios allí.

4

Algunos pensamientos personales y experiencia:
- use nhibernate como orm, o espere por EF v4. Tekpub.com tiene un buen tutorial sobre el uso de NH. L2S y EF son una especie de caja negra: están haciendo muchas cosas, tienen buena documentación, pero no tienen un punto de extensibilidad. Si desea agregar alguna funcionalidad nueva o cambiar el comportamiento, puede hacerlo solo con NH. EF en v4 estará en un estado donde NH fue 2 o 3 años antes.
- explore todos los ejemplos de aplicaciones MVC que pueda encontrar. Muchos de ellos puedes encontrar en codeplex. Por ejemplo: CodeCampServer, WhoCanHelpMe, Storeddd
- si está pensando en construir framework (o helper) para resolver algunos problemas de infraestructura, primero busque google; es muy probable que alguien más inteligente que usted (bueno, más inteligente que yo en mi caso) ya haya tenido los mismos problemas y haya escrito una buena pieza de código en forma de marco (mapeador de objetos, validación, mensajería, ...), o simplemente blogueó sobre eso.
- usando una arquitectura nítida o fubuMvc resuelve gran parte del trabajo de infraestructura, pero el resto de la aplicación depende de su modelo de negocio.
- TDD te obligará a escribir un código bueno y fácil de mantener. Intenta usar patrones de diseño de Gang of Four y principios SOLID tanto como puedas.

1

¿Utilizarías Linq para SQL o Entity Framework?

Linq2SQL es ideal si desea acceder a un modelo de objetos que se asigna directamente a su base de datos. Por ejemplo, si tiene una tabla de "Pedidos", Linq2SQL creará un objeto de "órdenes" que puede usar para acceder a los datos. Esto a menudo es completamente adecuado.

Entity Framework es útil cuando desea crear un modelo de objetos que no se pueda asignar directamente a la base de datos.

Cuestiones relacionadas