我是NHibernate的新手。我有三个表,一个是用户,另一个是品牌和组 用户与品牌一多连接 与组一对多连接的用户 我正在使用FluentNhibernate映射来映射所有数据,但我被困在这里 如何映射两个类有很多部分。我不能写下两个HasMany,但我不能写下一个人的HasMany部分。我如何实现它,请向我建议?
public UserMap()
{
Id(x => x.id);
Map(x => x.username);
Map(x => x.password);
Map(x => x.deleted);
Map(x => x.role);
Map(x => x.create_date);
HasMany(x => x.brand).KeyColumn("user_id").Inverse().Cascade.All();
//this second dosn't work
HasMany(x => x.group).KeyColumns("user_id").Inverse().Cascade.All();
}
Scince 你的User
与Brand
和Group
有one-to-many
关系。User
类将有两个集合:Brands
和Groups
.您可以像这样映射它:
public UserMap()
...
HasMany(x => x.Brands).KeyColumn("user_id").Cascade.All().Inverse();
HasMany(x => x.Groups).KeyColumn("user_id").Cascade.All().Inverse();
然后:
public BrandMap()
...
References(x => x.User).Column("user_id").Not.Nullable();
和:
public GroupMap()
...
References(x => x.User).Column("user_id").Not.Nullable();