Konfiguruję aplikację n-warstwową z MVC, Ninject i NHibernate (moje pierwsze użycie tych technologii). Dla jasności, poziomy są warstwą "danych", warstwą "usług" i warstwą "Web" (wszystkie są osobnymi projektami).Gdzie powinny znajdować się moje modele? Warstwa sieci Web lub warstwa danych? (MVC + NHibernate)
W MVC masz modele znajdujące się w folderze "Modele". Konieczne wydaje się tutaj umieszczenie moich modeli w celu stworzenia silnie napisanych widoków i ogólnie trzymania się filozofii MVC.
Jednak w przypadku NHibernate potrzebuję również moich modeli w warstwie "Dane", aby mapowanie mogło mieć miejsce i że NHibernate może tworzyć instancje rzeczywistych obiektów, aby powrócić do warstwy usług.
Powielanie klas pomiędzy projektami nie jest bardzo suche i ich wyodrębnienie do ich własnej biblioteki wydaje się nie działać dobrze z MVC (ani w praktyce, ani w filozofii).
Jakieś myśli? W jaki sposób konstruujesz swoje obiekty O/RM w porównaniu do modeli MVC?
jestem ciekawy jak upływ 2 lata potwierdzają to pytanie (poprawione, wzmocnione i inne). Czy MVC3 zmienia równanie? Przygotowuję się do stworzenia hybrydy pomiędzy starszą warstwą danych nH - do - EF, aby wspierać rusztowanie. Jaka jest dziś grupa projektów VS przy mieszaniu NH i EF? - thx – justSteve
Co powiesz teraz !? Prawie 2 lata od zadeklarowania powyższego pytania? –