複数のデータベースを使用して 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」は存在しないか、使用する権限がありません。