Я закончил настройку Fluent NHibernate application using multiple databases. Когда я запускаю приложение, я вижу, что сеанс создает те же таблицы во всех базах данных. Я попытался ограничить создание с помощью следующей строки кода в классе MappingКак ограничить Entites до конкретной базы данных в нескольких базах данных FluentNhibernate Application
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» либо не существует, либо у вас нет разрешения .
Firo Спасибо за решение. Кажется, это решение проблемы, которую я понимаю из технического анализа, но метод UsePersistenceModel (model) не распознается в моем решении. Я попытался это сделать, но я не смог найти соответствующую сборку для этого. – viento
Я использовал FNH 1.2 и это часть 'm' в лямбда – Firo
да, вы правы. И я назвал карты классов согласно вашему предложению. Но цикл не входит в условие if. Model.Add (type) ' – viento