Ich habe meinen Fluent NHibernate-Setup-Code in einem DataAccess-Projekt, auf das über meine Webanwendung zugegriffen wird.DRY-Modelle mit fließendem NHibernate und ASP.NET MVC
Als Teil der NHibernate-Konfiguration habe ich ein Model definiert, das bei der Zuordnung zur Datenbank verwendet werden soll.
public sealed class MyTypeMapping: ClassMap<MyType>
Dieses Modell MyType
ist identisch mit einem Modell, das ich in meiner Web-Schicht benötigen, um eine Ansicht übergeben werden. Ich möchte auch einige zusätzliche Metadaten zu diesem Modell wie Required
und DisplayName
hinzufügen.
Ich bin mir sicher, dass dies ein übliches Szenario ist, bei dem Modelle in der Datenzugriffsebene den Modellen entsprechen, die in der Webschicht benötigt werden.
Wie wird das normalerweise gehandhabt? Ist es eine gängige Praxis, eine Ansicht von einem Modell in der Datenzugriffsebene abhängig zu machen, oder sollte ich einfach ein ViewModel erstellen, um die Details von der Ansicht wegzuspalten?
Ich bin ziemlich neu in ORM und es fühlt sich komisch an, meine Modelle außerhalb meines Models-Ordners im MVC-Projekt zu haben und das Modell zu duplizieren fühlt sich auch nicht richtig an.
Wie gehen Sie damit um?
Danke für die Klarstellung Darin. –
Vielen Dank für die Erweiterung Ihrer Antwort. Sehr interessant und sehr geschätzt. –