Я изучаю NHibernate, чтобы выучить более надежный ORM, чем linq to sql, но я борюсь с некоторыми простыми вещами.
Моя первая задача - сопоставить этот столбец идентификаторов с помощью hbm.xml.
CREATE TABLE [dbo].[Party](
[Id] [int] IDENTITY(1,1) NOT NULL
CONSTRAINT [PK_Party] PRIMARY KEY CLUSTERED
(
[Id] ASC
) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
Когда я использую следующее отображение, я получаю странную экспортированную схему DDL
<class name="Party" table="Party">
<id name="Id">
<column name="Id" />
<generator class="native" ></generator>
</id>
</class>
, который генерирует следующее с помощью инструмента экспорта
create table Party (
Id INT IDENTITY NOT NULL,
primary key (Id)
)
с помощью Nhibernate, как я могу добавить кластерный первичный ключ и автоматически увеличивающийся идентификатор?
Или, как в мире NHibernate способ отделить вашу схему БД от отображения и использовать generator = native?
Я начинаю думать, что NHibernate не следует использовать для генерации схемы, если у вас уже есть схема БД, которая точно настроена на конкретный сервер.
Любая помощь очень ценится.