.net 将类映射到多个数据库
如何使.net 将类映射到多个数据库,.net,nhibernate,mapping,.net,Nhibernate,Mapping,如何使NHibernate.Tool.hbm2ddl.SchemaExport在一个数据库中导出某些类,在另一个数据库中导出某些类?例如,Person类应映射到具有一个连接字符串的数据库,而Product应保存到另一个数据库,因此SchemaExport应在一个数据库中创建一个Person表,在第二个数据库中创建一个Product表 我为我的类定义了NHibernate映射,但我不知道在哪里分别为每个类指定数据库/连接字符串。映射独立于数据库,无法在其中定义连接字符串。构建两个配置对象,每个数据
NHibernate.Tool.hbm2ddl.SchemaExport
在一个数据库中导出某些类,在另一个数据库中导出某些类?例如,Person
类应映射到具有一个连接字符串的数据库,而Product
应保存到另一个数据库,因此SchemaExport
应在一个数据库中创建一个Person
表,在第二个数据库中创建一个Product
表
我为我的类定义了NHibernate映射,但我不知道在哪里分别为每个类指定数据库/连接字符串。映射独立于数据库,无法在其中定义连接字符串。构建两个配置对象,每个数据库一个,并将所有类添加到适当的配置中。然后对每个配置使用Schemaexport
var config1 = new Configuration()
.AddClass(typeof(Person))
.AddClass(typeof(Customer))
...
new SchemaExport(config1).Create(false, true);
var config2 = new Configuration()
.AddClass(typeof(Product));
new SchemaExport(config2).Create(false, true);
所有类都要进行适当的配置-这是我不知道该怎么做的部分。非常感谢!
AddClass
方法似乎正是我想要的。我使用AddAssembly
仅仅是因为惯性,从所有的web示例中,我甚至不认为我可以使用AddClass
进行更精细的颗粒化。