通过DbContext添加对象会复制相关对象
本文关键字:对象 复制 添加 通过 DbContext | 更新日期: 2023-09-27 18:00:44
我有一个对象,我会称它为Thing,它与另一个对象有多对一的关系,我会叫它Person。如何使用DbContext添加Thing而不复制关联的Person。Thing有一个名为PersonID的Person外键。
public class Thing
{
public long ID { get; set; }
public long PersonID { get; set; }
}
public class Person
{
public long ID { get; set; }
}
我试过这个:
context.Things.Add(newThing);
context.SaveChanges();
我也尝试过这样做:
Person person = new Person() { ID = newThing.PersonID };
context.Persons.Attach(person);
context.Things.Add(newThing);
context.SaveChanges();
不确定我是否正确理解了这个问题,但请尝试:
context.Entry(Person).State = System.Data.EntityState.Unchanged;
此消息会告诉EF实体未更改,因此不会尝试保存它。