比如有User和Role两个表,然后又一个中间表UserRole,表机构就不用说了把,地球人都懂的,user和role是多对多关系,正常EF映射的时候会在user类里面新增一个role的机会,而且还会在role类里面新增一个user的集合,然后通过如下代码进行映射:
modelBuilder.Entity<User>()
.HasMany(b => b.Roles)
.WithMany(c => c.Users)
.Map
(
m =>
{
m.MapLeftKey("UserID");
m.MapRightKey("RoleID");
m.ToTable("UserRole");
}
);
现在问题是,我不想在Role实体类里面新增Users集合,那么上面的配置就无法实现了,也就是说我只要User去访问Role不要反过来的,这个应该怎么配置啊,求大神解答了
我的想法是:1、role实体里面的Users集合保留,但是设置为internal;
2、把UserRole也映射到实体,设置类为internal,
然后分别设置user与userrole 一对多和role和userrole一对多类解决;