2
我有一個主列作爲ID的表。但是這一列不是一個身份專欄。所有的值都明確提供。我們可以停止自動遞增的ID列嗎?
下面是我的映射類
public ObjectTypeMap()
{
Table("OBJECTTYPE");
Id(x => x.ObjectTypeId);
Map(x => x.Title).Not.Nullable();
Map(x => x.Description);
}
但是當我嘗試使用session.save保存這個對象,我得到一個錯誤說
「無法將NULL值插入列‘ObjectTypeId’,表'DiscoveryWEBTest.dbo.ObjectType';列不允許爲空,INSERT失敗。\ r \ n該語句已被終止。「
但在我的對象中,我提供了ObjectTypeId的值。
問題是連貫NHibernate認爲ID映射爲自動增量列,但在數據庫中ObjectTypeId不是一個標識列,這就是爲什麼插入語句沒有得到任何值並引發空錯誤。
有沒有一種方法可以告訴列是ID列,但其值不是自動遞增的?
在此先感謝
感謝那是什麼我想要的。 我是新來的,仍然在探索它。 – Ashish 2010-01-11 11:02:01
沒問題。它實際上有點幫助我瞭解XML映射,或者至少了解它們。你會發現Fluent的等價物有相似的名字,但並不總是被記錄在案。 – 2010-01-11 11:18:09