Добавление объектов через DbContext дублирует связанные объекты - PullRequest
2 голосов
/ 01 июля 2011

У меня есть объект, я назову его «Вещь», который имеет отношение многие к одному с другим объектом, я назову его «Человек». Как я могу добавить Thing, используя DbContext, не дублируя связанных лиц. У вещи есть внешний ключ для Person с именем 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 Ответ

3 голосов
/ 01 июля 2011

Не уверен, правильно ли я понимаю вопрос, но попробуйте:

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

Это говорит EF, что объект не изменился и, следовательно, не будет пытаться его сохранить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...