2009-05-07 9 views
9

En MVC, ¿el ORM es el mismo que el modelo o solo una forma de diseñar el modelo? En otras palabras, al "modelo" no le importa cómo obtienes datos mientras lo obtengas. O bien, ¿"modelo" implica que ya no tengo un montón de sentencias SQL en mi código como en código detrás de formularios? ¿Algo más?En MVC, ¿representa un ORM el modelo?

Gracias.

Respuesta

8

No, el ORM es lo que mapea su modelo a su base de datos y viceversa.

Para elaborar, debe crear su modelo en su código para representar Domain Model (es decir, los diversos elementos de su dominio de problema), luego configurar un ORM (asignador relacional de objetos) para asignarlo a una base de datos. Es decir. Genere declaraciones SQL que actualizarán la base de datos en función de los objetos modelo que le proporcione.

Puedo entender algo de confusión, porque hay herramientas (LINQ to SQL siendo una) que realmente generan clases modelo en un diseñador para usted. Esto no es ORM puro, como NHibernate, donde proporciona los objetos antiguos simples de ORM y alguna configuración de asignación que utiliza (a menudo junto con la reflexión) para generar automáticamente las sentencias de SQL para la base de datos.

0

El modelo debe estar desacoplado tanto como sea posible de la tecnología de almacenamiento de datos de servidor. pensé que esto era un buen artículo que analiza la relación entre las capas de acceso a datos, DTO, etc. http://msdn.microsoft.com/en-us/magazine/dd263098.aspx

1

Si le gustaría echar un vistazo a una buena aplicación en el mundo real de MVC con un ORM, tener una mira S#arp Architecture que se basa en MS ASP.NET MVC, Nhibernate y el patrón de repositorio.

Cuestiones relacionadas