2010-06-29 100 views
3

我有這樣的錯誤,當我嘗試保存我的實體: 無效的對象名稱是hibernate_unique_key無效的對象名稱是hibernate_unique_key

問題是什麼? 使用SQL事件探查器,我有這個查詢: 從hibernate_unique_key中選擇next_hi(updlock,rowlock)

你能幫我嗎?

我使用Asp.net MVC 2,夏普架構(用流利的自動映射)

謝謝

回答

4

我發現它。 我需要更改Fluent的PrimaryKeyConvention並設置爲本機。

public class PrimaryKeyConvention : IIdConvention 
{ 
    public void Apply(FluentNHibernate.Conventions.Instances.IIdentityInstance instance) 
    { 
     instance.Column("Id"); 
     instance.UnsavedValue("0"); 
     //instance.GeneratedBy.HiLo("1000"); 
     instance.GeneratedBy.Native(); 
    } 
} 
+0

感謝。有同樣的問題和你的帖子幫助我。 – autonomatt 2010-09-30 15:07:51

+0

謝謝,也爲我工作。 – Dofs 2010-10-31 15:42:10

+1

使用本地發電機(SQL自動遞增)當然是不推薦的方法。 – dariol 2011-11-20 23:57:57