Entity Framework SaveChanges возвращает ошибку. AddObject не устанавливает первичный ключ

У меня есть таблица Property , а другая - Detail таблица. Когда я использую автономный подход, когда добавляются несколько свойств, а затем, когда мы нажимаем кнопку сохранения, он сохраняет изменения в базе данных. Такой подход не сохранять для каждого добавленного свойства, потому что пользователь также может удалить из списка.

Вот что я делаю

foreach (Property P in Results)
{
  if(P.PropertyId==0 && P.EntityState==EntityState.Added)
    Repository.Properties.AddObject(P);
}

, но когда я пытаюсь сохранить данные

public void Save()
{
  Repository.SaveChanges();
}

, возвращается ошибка

Невозможно определить основной конец отношения 'database.FK_Details_Property'
. Несколько добавленных объектов могут иметь один и тот же первичный ключ.

Я думаю, это потому, что каждый раз, когда я вызываю AddObject, его первичный ключ равен 0, и я не знаю, что могло бы решить эту проблему. Это похоже или звучит знакомо любому, кто сталкивался с этим?

Заранее спасибо

6
задан user877127 18 October 2011 в 16:22
поделиться