我似乎对nHibernate和插入记录存在随机问题。
插入工作正常,然后添加了一个新表,并开始收到错误:
Cannot insert explicit value for identity column in table '' when IDENTITY_INSERT is set to OFF
现有表格插入现在也失败了。随机部分是,如果我删除我的文件,并重新签出,插入然后工作正常。
nHibernate版本是3.1
通过以下方式设置标识列:
[NHibernate.Mapping.Attributes.Generator(Class = "native")]
[NHibernate.Mapping.Attributes.Id(Name = "id")]
public virtual IdT id
{
get { return _id; }
set { _id = value; }
}
我尝试设置为“身份”,但仍然是一个问题。不确定是否存在缓存问题,但担心它可能会影响后期的功能。
答案 0 :(得分:4)
遇到此错误。我立刻意识到这是一个身份问题。但我有自动增量设置。所以我检查了我的映射文件。我很快意识到:
<id name="Id" access="property" column="`id`">
<generator class="assigned" />
</id>
必须是
<id name="Id" access="property" column="`id`">
<generator class="native" />
</id>
注意: class =“native”