Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка при удаление данных из связанных таблиц 
:(
    Опции темы
Allexander
Дата 25.5.2015, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 14.6.2006

Репутация: нет
Всего: нет



Доброго времени суток, Уважаемые форумчане.
На просторах интернета нашел учебную статью по ASP.NET MVC 3 и EntityFramework 4 в которой описывается создание мини интернет магазина. На компьютере у меня установлена Visual Web Developer Express 2013 с проектом MVC 4 с EntityFramework 6.

В данной статье в абстрактном классе реализованы виртуальные методы для работы с данными, 
Если использовать EntityFramework 4 то обращение к данным происходит через System.Data.Objects.ObjectSet и проблем при удаление данных из связанных таблиц не возникает
Код

// Удаление объекта
        public virtual void Delete(T dataObject)
        {
            EntitySet.DeleteObject(dataObject);
            EntitySet.Context.SaveChanges();
        }



Но так как в EntityFramework 6 вместо ObjectSet используется DbSet то необходимо было переписывать код с использованием DbSet. Но при этом возникает ошибка:
"An entity object cannot be referenced by multiple instances of IEntityChangeTracker."
Переделанный код.
Код

DbSet
 //Удаление объекта
        public virtual void Delete(T dataObject)
        {
          using (var dbContextTransaction = p.Database.BeginTransaction())
            {
                try
                {
                   p.Entry(dataObject).State = EntityState.Deleted;  --- тут возникает ошибка
                   p.SaveChanges();

                  dbContextTransaction.Commit();
                }
                catch (Exception)
                {
                    dbContextTransaction.Rollback();
                }
            }
        }


Кто нибудь сталкивался с такой проблемой? Прошу помочь её решить.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.2494 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.