Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 将类映射到多个数据库_.net_Nhibernate_Mapping - Fatal编程技术网

.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
进行更精细的颗粒化。