我有NHibernate --version 2.1.2.4000,并使用NHibernate.Mapping.Attributes
当我想要保存对象时,
3
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
5 2
/ \ / \
/ \ / \
/ \ / \
1 4 6 7
/ \ / \ / \ /
8 9 / \ / \ 14
10 11 12 13
我有一个例外情况“当IDENTITY_INSERT设置为OFF时,无法在表'Car'中为身份列插入显式值。” 当NHibernate尝试设置ID = 0的sql脚本时,就会发生这种情况
session.SaveOrUpdate(car);
session.Flush();
我的课具有以下属性
"exec sp_executesql N'INSERT INTO Car (...., Id) VALUES (.., @p12)',N'...,@p12 int', @p12=0 go"
休眠助手具有以下设置
public class Car: ILifecycle {
[Generator(Class = "identity")]
[Id(0, Name = "Id", Column = "Id")]
public virtual int Id { get; set; }
public virtual LifecycleVeto OnDelete(ISession s);
public virtual void OnLoad(ISession s, object id);
public virtual LifecycleVeto OnSave(ISession s);
public virtual LifecycleVeto OnUpdate(ISession s);
}
答案 0 :(得分:0)
我忘记了属性前面的数字。[Generator(1,Class =“ identity”)]