【发布时间】:2010-02-03 22:16:53
【问题描述】:
我有表CUSTOMER,其中CUSTOMER_ID 是主键。
表格
CREATE TABLE [CUSTOMER](
[CUSTOMER_ID] [int] NOT NULL,
[START_DATE] [varchar(30)] NOT NULL,
CONSTRAINT [PK_CUSTOMER] PRIMARY KEY CLUSTERED ( [CUSTOMER_ID] ASC .....
映射
public class CustomerMap : ClassMap<Customer> {
public CustomerMap()
{
WithTable("CUSTOMER");
Id(x => x.CustomerID, "CUSTOMER_ID");
Map(x => x.Name, "NAME");
}
}
我需要手动处理 CustomerID 属性的分配。例如,我创建了 CustomerID = 777 并命名为“stackoverflow”的新客户。
当我调用方法 Session.SaveOrUpdate(customer); 我希望 NHibernate 像这样生成我的 SQL:
INSERT INTO [CUSTOMER] ([CUSTOMER_ID] ,[NAME]) VALUES (777,'stackoverflow')
很遗憾,我遇到了错误。
这里的主要问题是 Nhibernate 尝试为我生成 ID。但我想用 777 完全保存我的实体。
我认为应该有另一种方式为 Id() 设置映射,这样我就可以做我想做的事了。
请帮忙。
【问题讨论】:
标签: nhibernate fluent-nhibernate nhibernate-mapping