MySQL Entity Update - PullRequest
       4

MySQL Entity Update

0 голосов
/ 14 июня 2011

Я использую этот код для обновления объекта (MySQL), который мы получили через AJAX от внешнего интерфейса:

            foreach (ChequeDiaryPaymentDetail item in data.Updated) {
                this.DBContext.ChequeDiaryPaymentDetails.Attach(item);
                this.DBContext.ApplyOriginalValues("ChequeDiaryPaymentDetails", item);
            }

Это правильный метод? Если я делаю то же самое, за исключением замены

ApplyOriginalValues

для

this.DBContext.ObjectStateManager.ChangeObjectState(item, System.Data.EntityState.Modified);

.. БД тоже корректно обновляется. Последний метод неправильно форсирует обновление? Я просто хочу убедиться, что я не делаю это неправильно с самого начала!

1 Ответ

1 голос
/ 15 июня 2011

Если ваш объект находится в состоянии «Неизменен», то метод ApplyOriginalValues ​​ изменит состояние объекта на «Измененный» (так же, как метод ChangeObjectState ). Я полагаю, что это так.
Таким образом, если вашей логике необходимо применить исходные значения перед выполнением обновления (например, вы реализуете модель Optimistic Concurrency), лучшим решением будет сначала применить исходные значения. В противном случае этого должно быть достаточно только для изменения состояния объекта.

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