Entity framework 实体框架和一对多关系

Entity framework 实体框架和一对多关系,entity-framework,entity-relationship,Entity Framework,Entity Relationship,我正试图与英孚建立一对多的关系 用户可以有许多(或没有)访问记录 用户主键是userid UserAccess外键是userid 因此,我的设置如下: public class User { // ... public virtual ICollection<UserAccess> UserAccess { get; set; } } public class UserAccess { // ... public virtual User Use

我正试图与英孚建立一对多的关系

用户可以有许多(或没有)访问记录

  • 用户主键是userid
  • UserAccess外键是userid
因此,我的设置如下:

public class User
{
    // ...
    public virtual ICollection<UserAccess> UserAccess { get; set; }
}

public class UserAccess
{
    // ...
    public virtual User User { get; set; }
}

我在这里做错了什么?

您在处理多对多关系,请参见配置模式

HasMany.. WithMany..
一对多配置应该是
HasMany。。带必需/带可选..
带必需/带可选。。有许多..

UserAccessMap

HasRequired(t => t.User).WithMany(x => x.UserAccess).Map(x=> x.MapKey("USERID"));
HasMany(t => t.UserAccess).WithRequired(x => x.User).Map(x=> x.MapKey("USERID"));
或者在
UserMap

HasRequired(t => t.User).WithMany(x => x.UserAccess).Map(x=> x.MapKey("USERID"));
HasMany(t => t.UserAccess).WithRequired(x => x.User).Map(x=> x.MapKey("USERID"));