2011-05-05 51 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> 

注:類= 「本地」

相關問題