Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在实体框架中更新链接表_C#_Entity Framework - Fatal编程技术网

C# 如何在实体框架中更新链接表

C# 如何在实体框架中更新链接表,c#,entity-framework,C#,Entity Framework,我使用的是EF代码优先方法,域模型类为: public class WindmillUser { public WindmillUser() { AssignedMsos = new Collection<Mso>(); RepackerHeaders = new Collection<RepackerHeader>(); }

我使用的是EF代码优先方法,域模型类为:

 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();