2011-05-05 56 views
1

我似乎有一个随机问题与nHibernate和插入记录。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

你能在你添加新表详细点吗?它是如何映射的? – 2011-05-05 08:52:00

回答

4

正面临着这个错误。我立即意识到它是一个身份问题。但我有自动增量设置。所以我检查了我的映射文件。我很快就意识到:

<id name="Id" access="property" column="`id`"> 
     <generator class="assigned" /> 
    </id> 

必须

<id name="Id" access="property" column="`id`"> 
     <generator class="native" /> 
    </id> 

注:类= “本地”

相关问题