2010-07-03 54 views
0

我用具有表存儲多達5類用戶有權限查看舊的數據庫工作列:映射的IList項目

USER_ELIGIBILITY 
---------------- 
Eligibility_Id INT PRIMARY KEY 
Eligibility_Name NVARCHAR(100) 
CategoryId1 INT 
CategoryId2 INT 
CategoryId3 INT 
CategoryId4 INT 
CategoryId5 INT 

下面是如何我已經創建的類:

public Eligibility : Entity 
{ 
    public virtual int Id { get; set; } 
    public virtual string Name { get; set; } 
    public virtual IList<Category> AllowedCategories { get; set; } 
} 

這是建模的正確方法嗎?如果是這樣,我該如何映射它?

回答

1

你可以做一些非常類似於<dynamic-component>,而不是IList<T>你需要映射IDictionary。見http://nhibernate.info/doc/nh/en/index.html#components-dynamic

當然,你可以編寫一個簡單的包裝器來忽略這些鍵,只關注調用代碼中的值。

+0

另請參閱:http://ayende.com/Blog/archive/2009/04/11/nhibernate-mapping-ltdynamic-componentgt.aspx – 2010-07-04 13:15:57