Бизнес-логика при сохранении в Entity Framework

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

Однако предположим, что я извлекаю объект из базы данных. Этот объект имеет список элементов внутри него. Если я создаю экземпляр нового элемента и добавляю его в этот список, а затем сохраняю все изменения, элемент в списке не является частью «GetObjectStateEntries».


person Pedro    schedule 29.11.2010    source источник
comment
ваш вопрос не имеет смысла, пожалуйста, уточните, что вы пытаетесь сделать с некоторым примером кода. также вы случайно не используете POCO или самоотслеживающие объекты? или вы используете готовую Entity Framework (генерация кода)   -  person RPM1984    schedule 30.11.2010
comment
@ RPM1984 Извините, если мой вопрос вас смущает. В моем вопросе есть ссылка на соответствующую статью MSDN. Если вы понимаете эту статью, вы можете понять мой вопрос.   -  person Pedro    schedule 30.11.2010


Ответы (1)


Проблема для моей ситуации, я считаю, была решена. На мой взгляд, в методе ObjectContext.SaveChanges(SaveOptions) есть ошибка. Несмотря на то, что этот метод будет вызывать DetectChanges (в зависимости от saveOptions), метод OnSavingChanges вызывается ПЕРВЫМ. Это, я думаю, проблема.

Решение этой проблемы заключается в вызове ObjectContext.DetectChanges() перед вызовом SaveChanges().

person Pedro    schedule 30.11.2010