通过DbContext添加对象会复制相关对象

时间:2011-06-30 21:55:17

标签: c# entity-framework

我有一个对象,我将其称为Thing,它与另一个对象有多对一的关系,我将其称为Person。如何使用DbContext添加Thing而不复制关联的Person。 Thing有一个名为PersonID的人的外键。

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

1 个答案:

答案 0 :(得分:3)

不确定我是否正确理解了这个问题,但请尝试:

context.Entry(Person).State = System.Data.EntityState.Unchanged;

这告诉EF实体未更改,因此不会尝试保存它。