C# 如何在实体框架中更新链接表
我使用的是EF代码优先方法,域模型类为:C# 如何在实体框架中更新链接表,c#,entity-framework,C#,Entity Framework,我使用的是EF代码优先方法,域模型类为: public class WindmillUser { public WindmillUser() { AssignedMsos = new Collection<Mso>(); RepackerHeaders = new Collection<RepackerHeader>(); }
public class WindmillUser
{
public WindmillUser()
{
AssignedMsos = new Collection<Mso>();
RepackerHeaders = new Collection<RepackerHeader>();
}
public int WindmillUserId {get;set;}
public string Username { get; set; }
public RoleType Role { get; set; }
public string Email { get; set; }
public bool Active { get; set; }
public DateTime? LastInteraction { get; set; }
public string TelephoneNumber { get; set; }
public virtual ICollection<Mso> AssignedMsos { get; set; }
public virtual ICollection<RepackerHeader> RepackerHeaders { get; set; }
public virtual ICollection<WindmillUser> WindmillUserImpersonateParent { get; set; }
public virtual ICollection<WindmillUser> WindmillUsersImpersonateChild { get; set; }
}
}
如果不需要创建WindmillUserImpersonate类,那么如何插入/更新WindmillUserImpersonate表?如果您有实体WindmillUser用户并希望添加新的父级childUser,则应执行以下操作:
user.WindmillUsersImpersonateChild.Add(childUser);
context.SaveChanges();
不幸的是,它没有起作用。我必须更改域模型并创建另一个实体WindmillUserImpersonate,然后将其添加到dbcontext类中,作为:modelBuilder.entity().HasKey(u=>new{u.WindmillUserImpersonateParentId,u.WindmillUsersImpersonateChildId});
public class WindmillUserImpersonate
{
public int WindmillUserImpersonateParentId { get; set; }
public int WindmillUsersImpersonateChildId { get; set; }
public virtual WindmillUser WindmillUser { get; set; }
}
user.WindmillUsersImpersonateChild.Add(childUser);
context.SaveChanges();