我已经 使用多个数据库配置了 Fluent NHibernate 应用程序。当我运行应用程序时,我看到会话正在所有数据库中创建相同的表。我尝试通过在 Mapping 类中使用以下代码行来限制创建
Schema("Monkey") <- in monkey ClassMap
Schema("Banana") <- in Banana ClassMap
生成的 SQL 查询:
if exists (select * from dbo.sysobjects where id = object_id(N'Banana.[Banan
a]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table Banana.[Banana]
if exists (select * from dbo.sysobjects where id = object_id(N'Monkey.[Monke
y]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table Monkey.[Monkey]
create table Banana.[Banana] (
Id INT IDENTITY NOT NULL,
Color NVARCHAR(255) null,
primary key (Id)
)
在以上这一点上,调试器发现了一个错误:
指定的模式名称“Banana”要么不存在,要么您没有使用它的权限。