我使用NHibernate將我的對象映射到數據庫。其中一個對象稱爲「附件」。其ID是使用MS SQL Server 2008中的「newsequentialid」(作爲默認值或綁定)爲ID列創建Guid而生成的。在數據庫中使用「newsequentialid」時Nhibernate身份映射
現在我想要的是,當插入一個新的附件時,NHibernate將允許SQL Server使用newsequentialid創建Guid。事情是,我不斷收到一個例外,「空標識符」試圖挽救一個新的附件,其中ID沒有設定(Guid.Empty)
這裏的時候是我的HBM文件:
<class name="DataObjects.Services.NHAttachment, DataObjects, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" mutable="false" table="Attachments">
<id name="Id" column="Guid" type="Guid" >
<generator class="native" />
</id>.....
正如你可以看到ID是使用生成器類作爲本機設置的。
感謝您提前提供的所有幫助! :)
我試着創建一個自定義的生成器,這並不難,但要獲得NEWSEQUENTIALID的最後一個值,你必須創建一個臨時表,所以我認爲這是一個矯枉過正。我決定只使用GuidComb,我讀它是一個GUID,但是有一個序列。 –