Laden...

fluentNHibernate Mapping auslagern.

Erstellt von Ahrimaan vor 12 Jahren Letzter Beitrag vor 12 Jahren 610 Views
A
Ahrimaan Themenstarter:in
350 Beiträge seit 2010
vor 12 Jahren
fluentNHibernate Mapping auslagern.

Hallo zusammen,
auch wenn es sich um fluentNHibernate handelt, dachte ich passt dieses Thema besser in diese Rubrik.

Folgendes ist gegeben : Ein Interface ISessioNFactorManager welcher mir eine ISession von NHibernate zurückgibt. In der konkreten implementation wird per fluentnHibernate die Datenbank konfiguriert und das Mapping gemacht.

Problem : Wie gebe ich Mappingklassen in diesen FactoryManager ? Ich will ja nicht, dass der FactoryManager einen Verweis auf die Models hat.

Hat jmd eine Idee wie ich das Lösen könnte ?

Grüße

2.187 Beiträge seit 2005
vor 12 Jahren

Halloo Ahrimaan,

Also eigentlich gibt es nur 3 Möglichkeiten die Klassen von A nach B zu bekommen:

  1. Als Übergabeparameter (Konstruktor oder Methode).
  2. Über eine Konfiguration.
  3. Die ISessionFactoryManager-Implementation sucht selber per Reflection nach den Typen.

1 und 2 liesen sich Sinnvollste kombinieren in dem du deinem Mikrocernel/ServiceLocator/DependencyInjection-Container/Factory über eine Konfiguration mitteilst welche Klassen/Typen beim Instanziieren der ISessionFactoryManager-Implementation übergeben werden sollten.

3 Erfordert keine Konfiguration und funktioniert automatisch, kostet aber am Anfang einen haufen Zeit, da du erst alle Assemblies finden, lesen und reflektieren musst.

Gruß
Juy Juka

A
Ahrimaan Themenstarter:in
350 Beiträge seit 2010
vor 12 Jahren

Hi JuyJuka,

ich denke fast, dass mir Variante 3 am meißten zusagt.

Grüße