我有一个看起来像这样的类:
public class User {
public virtual int ID;
public virtual string Name;
public virtual IList<int> userRights;
}
I want to make a UserMap : ClassMap<User>
映射名称没有问题,但我似乎无法弄清楚如何映射userRights。
表格如
UserTable
User_id int
User_Name nvarchar
User_group int
UserRights
User_group int
RightID int
你会如何映射这个?
答案 0 :(得分:2)
如果你想要一个List你需要一个索引。所以我建议只是将它作为ICollection,除非排序很重要。
映射应如下所示:
HasMany(x=> x.userRights).Element("RightID").AsBag();
然而,看着你的桌子,我注意到一些奇怪的东西。您尝试使用一对多而不使用User_Rights表中的主键。如果您在UserRights中有User_Id,则上述情况应该有效。
否则看起来像是一个UserGroup,应该由你的类建模。