我正在使用一个旧数据库,该数据库有一个表,最多可存储5个用户有权查看的类别:
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; }
}
这是建模的正确方法吗?如果是这样,我该如何映射呢?
答案 0 :(得分:1)
您可以使用<dynamic-component>
执行非常类似的操作,而不是IList<T>
您需要映射IDictionary
。请参阅http://nhibernate.info/doc/nh/en/index.html#components-dynamic。
当然,您可以编写一个简单的包装器来忽略键,只关注调用代码的值。