2009-05-07 2 views
9

In MVC, l'ORM è lo stesso del modello o solo il modo in cui il modello può essere progettato? In altre parole, il "modello" non si cura di come si ottengono i dati finché si ottiene. Oppure, il "modello" implica che non ho più una serie di istruzioni SQL nel mio codice come nel codice dei moduli? Qualcos'altro?In MVC, un ORM rappresenta il modello?

Grazie.

risposta

8

No, l'ORM è la cosa che associa il modello al database e viceversa.

Per elaborare, è necessario creare il modello nel codice per rappresentare lo Domain Model (vale a dire i vari elementi del dominio del problema), quindi configurare un ORM (object relational mapper) per mapparlo in un database. Cioè Genera istruzioni SQL che aggiorneranno il database in base agli oggetti del modello che gli vengono assegnati.

Posso capire un po 'di confusione, perché ci sono strumenti (LINQ to SQL uno) che effettivamente generano classi di modelli in un designer per te. Questo non è puro ORM, come NHibernate, in cui si forniscono gli oggetti vecchi pianeti ORM e una configurazione di mappatura che utilizza (spesso in combinazione con la riflessione) per generare automaticamente le istruzioni SQL per il database.

1

Se desideri avere uno sguardo a una buona implementazione mondo reale del MVC con un ORM, hanno un guarda S#arp Architecture che si basa su MS ASP.NET MVC, Nhibernate e il pattern del repository.