【发布时间】:2009-09-11 08:54:31
【问题描述】:
我正在学习 NHibernate 以学习比 linq to sql 更强大的 ORM,但我正在为一些简单的事情苦苦挣扎。
我的第一个挑战是使用 hbm.xml 映射此 ID 列。
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,如何添加集群主键和自增 Id?
或者,NHibernate 中的世界方式是让您的 db 架构与映射分离并使用 generator=native?
我开始认为 NHibernate 不应该用于模式生成,如果您已经有一个针对特定服务器进行了微调的数据库模式。
非常感谢任何帮助。
【问题讨论】:
标签: sql-server nhibernate orm