如果记录存在于实体框架中,则不要插入子表使用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的主要内容,如果未能解决你的问题,请参考以下文章

如果存在则更新行否则使用实体框架插入逻辑[关闭]

mysql:如果不存在则插入记录,否则返回记录的ID

实体框架:在插入新记录之前检查记录是不是存在

python实现二分查找算法

如果在jsp中删除记录失败,则显示错误消息

如果 id 存在则更新,否则插入 (ODBC)