Ich habe mich gerade in NHibernate und die fließende Oberfläche verliebt. Letzteres ermöglicht sehr schöne Mappings mit Refactoring-Unterstützung (keine Notwendigkeit für XML-Dateien mehr).Kombinieren Sie fließende und XML-Zuordnung für NHibnernate
Aber niemand ist perfekt, so fehlt mir das Viele-zu-Ein-Mapping in fließend. Weiß jemand, ob es schon da ist? Wenn ja, wäre eine einfache Codezeile schön.
Aber um am Header der Frage zu bleiben, gibt es eine Möglichkeit, fließende und normale NHibernate Mapping zu kombinieren.
Zur Zeit verwende ich die folgenden Zeilen für meine Testkonfiguration MIT fließend, und den zweiten Codeblock für meinen Test OHNE fließend (mit XML-Mappings). Wie kann ich fließend sagen sonst fließend falls verfügbar und XML verwenden ...
var cfg = new Configuration();
cfg.AddProperties(MsSqlConfiguration.MsSql2005.ConnectionString.Is(_testConnectionstring).ToProperties());
cfg.AddMappingsFromAssembly(typeof(CatMap).Assembly);
new SchemaExport(cfg).Create(true, true);
var persistenceModel = new PersistenceModel();
persistenceModel.addMappingsFromAssembly(typeof(CatMap).Assembly);
IDictionary<string, string> properties = MsSqlConfiguration.MsSql2005.UseOuterJoin().ShowSql().ConnectionString.Is(_testConnectionstring).ToProperties();
properties.Add("command_timeout", "340");
session = new SessionSource(properties, persistenceModel).CreateSession();
ohne fliessend ...
config = new Configuration();
IDictionary props = new Hashtable();
props["connection.provider"] = "NHibernate.Connection.DriverConnectionProvider";
props["dialect"] = "NHibernate.Dialect.MsSql2005Dialect";
props["connection.driver_class"] = "NHibernate.Driver.SqlClientDriver";
props["connection.connection_string"] = "Server=localhost;initial catalog=Debug;Integrated Security=SSPI";
props["show_sql"] = "true";
foreach (DictionaryEntry de in props)
{
config.SetProperty(de.Key.ToString(), de.Value.ToString());
}
config.AddAssembly(typeof(CatMap).Assembly);
SchemaExport se = new SchemaExport(config);
se.Create(true, true);
factory = config.BuildSessionFactory();
session = factory.OpenSession();
Das ist es ... Chris
PS: ich wirklich wie diese Seite, ist die GUI perfekt und die Qualität aller Artikel ist unglaublich. Ich denke, es wird sehr groß sein :-) zu registrieren, ...