实体框架和一对多关系
我试图建立与EF的一对多关系。实体框架和一对多关系
用户可以有很多(或没有)访问记录。
- 用户主键是用户ID
- UserAccess外键是用户ID
所以我的设立如下:
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"));
我在这里做错了什么?
回答:
您正在做多对多的关系,请参阅配置模式。
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"));
以上是 实体框架和一对多关系 的全部内容, 来源链接: utcz.com/qa/264912.html