Гость
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как откатить изменения для связанных сущностей Entity framework. / 2 сообщений из 2, страница 1 из 1
10.02.2015, 17:58
    #38876264
rigorMortis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как откатить изменения для связанных сущностей Entity framework.
Привет
Что-то затруднился как откатить изменения на уровне DBContext<>. Есть класс-сущность Class1 с полем string Col1 который представляет таблицу БД. И есть в этой сущности поле Cнild1 ICollection<> которое представляет записи дочерней таблицы. Меняем поле Col1 и добавляем новый элемент в Cнild1. Далее, если выполнить
Код: c#
1.
context.Entry(item).State = EntityState.Unchanged 

то значение col1 вернётся в первоначальное состояние, но Cнild1 так и будет содержать элемент который добавили ранее. Как-то можно средствами EF откатить все изменения, в том числе и те что в дочерних сущностях (Cнild1)?
...
Рейтинг: 0 / 0
10.02.2015, 19:07
    #38876304
rigorMortis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как откатить изменения для связанных сущностей Entity framework.
Видимо так:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
            foreach (DbEntityEntry entry in _referencebooksEntities.ChangeTracker.Entries())
                switch (entry.State)
                {
                    case EntityState.Modified:
                        entry.State = EntityState.Unchanged;
                        break;
                    case EntityState.Added:
                        entry.State = EntityState.Detached;
                        break;
                    case EntityState.Deleted:
                        entry.Reload();
                        break;
                }



Но если в дата модели связь многие-ко-многим организована двумя таблицами, минуя связующую (только на уровне DBModel), то отката таких записей не произойдёт.
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как откатить изменения для связанных сущностей Entity framework. / 2 сообщений из 2, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]