我试图与EF建立一对多的关系。
用户可以拥有许多(或没有)访问记录。
所以我的设置如下:
public class User
{
// ...
public virtual ICollection<UserAccess> UserAccess { get; set; }
}
public class UserAccess
{
// ...
public virtual User User { get; set; }
}
我的代码在 UserAccessMap :
this.HasMany(t => t.UserAccess).WithMany().Map(m => m.MapLeftKey("USERID"));
我在这里做错了什么?
答案 0 :(得分:1)
您正在做多对多关系,请参阅配置模式。
HasMany.. WithMany..
一对多配置应为HasMany.. WithRequired/WithOptional..
或HasRequired/HasOptional.. WithMany..
。
在UserAccessMap
HasRequired(t => t.User).WithMany(x => x.UserAccess).Map(x=> x.MapKey("USERID"));
或UserMap
HasMany(t => t.UserAccess).WithRequired(x => x.User).Map(x=> x.MapKey("USERID"));