У меня есть объект, который мне нужно сохранить дважды. В первый раз необходимо установить идентификатор. Этот идентификатор необходимо заполнить для расчета подписи, и эта подпись сохраняется обратно в сущность.
См. следующий код:
var newEntity = new MyEntity
{
\\ set values
};
using (var db = MyContainer.CreateContainer())
{
db.MyEntity.Add(newEntity);
// Call SaveChanges() to set the ID.
db.SaveChanges();
// I need to do some calculation on the entity
myEntity.Signature = CalculateSignature(myEntity);
db.SaveChanges(); // <--- This causes the exception
}
Этот фрагмент кода вызывает InvalidOperationException, а именно The relationship between the two objects cannot be defined because they are attached to different ObjectContext objects.
Я не понимаю, мне нельзя дважды сохранять один и тот же объект? Как мне добиться этого?
myEntity
? - person paul   schedule 05.10.2012db.MyEntity.newEntity
не совпадает сthis.myEntity
. - person Bob.   schedule 05.10.2012