如果记录存在于实体框架中,则不要插入子表使用id

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如果记录存在于实体框架中,则不要插入子表使用id相关的知识,希望对你有一定的参考价值。

我有注册和部门表。

Registration Table:

     public int ID { get; set; }
            public string Username { get; set; }
            public Nullable<int> DepartmentID { get; set; }
     public virtual Department Department { get; set; }

Department Table:
  public int ID { get; set; }
        public string Name { get; set; }

我试图插入注册表和子表部门。但是重复插入了。如果部门名称已存在,我希望将部门表中的ID插入注册。

Registration regEntity = new Registration();
            regEntity.ID = reg.ID;
           regEntity.Username = reg.Username;
           regEntity.Email = reg.Email;
          regEntity.Department = new Department { Name = reg.Department };



 WorkOrderDBEntities db = new WorkOrderDBEntities();
                db.Registration.Add(registration);
                db.SaveChanges();

以上是关于如果记录存在于实体框架中,则不要插入子表使用id的主要内容,如果未能解决你的问题,请参考以下文章