2
我試圖創建一個IDictionary上使用另一個類作爲關鍵的對象。流利的NHibernate字典映射
' Dictionary Mapping on Tool
HasMany(Function(x) x.Roles).KeyColumn("ToolRole_ID").AsEntityMap("RoleType_ID").Inverse.Cascade.AllDeleteOrphan().Table("ToolRoles")
' RoleType Mapping
Public Sub New()
Id(Function(x) x.ID).GeneratedBy.GuidComb().Column("ToolRole_ID")
References(Function(x) x.Tool).Not.Nullable.Column("Tool_ID")
References(Function(x) x.RoleType).Not.Nullable.Column("RoleType_ID")
References(Function(x) x.User).Not.Nullable.Column("User_ID")
Map(Function(x) x.LastModified).Not.Nullable()
Table("ToolRoles")
End Sub
我不再得到任何感謝這個帖子映射錯誤:How to map this Dictionary with the newest fluentNHibernate version?,但我的收藏沒有被填充,即使我知道它有子對象。
有什麼建議嗎?
謝謝,我想我想這一次,但可以肯定我再次做到了,我得到了以下錯誤:'{「無法確定類型:ToolDatabaseLib.RoleType,ToolDatabaseLib,版本= 1.0.0.0 ,Culture = neutral,PublicKeyToken = null,對於列:NHibernate.Mapping.Column(RoleType)「}' – Origin 2012-07-29 22:38:09
然後在NHibernate中啓用SQL日誌記錄,並直接運行生成的映射的SQL查看它是否返回您期望的結果。 – Firo 2012-07-30 05:40:29
對此延遲接受感到抱歉。提出這個問題的原因實際上已經消失了,所以我沒有代碼去處理。我只是做了另一個字典映射,它運行良好。有一點需要注意的是,如果屬性的列名與屬性名稱不匹配,則不應使用lambda函數來指定要公開的屬性。我的工作映射是'.AsMap(of String)(「task_name」)''而不是'.AsMap(function(x)x.Name))' – Origin 2012-08-16 20:21:34