Entity FrameWork Core не отвечает на запрос where () при добавлении в db.database.BeginTransaction () scope -Exception (время ожидания запроса) - PullRequest
3 голосов
/ 15 мая 2019

Я создаю общий метод добавления, который выполняет поиск в базе данных с заданным идентификатором, а затем я вносю изменения в таблицу и сохраняю ее в базе данных, но когда я добавляю ее в области транзакции, она не работает. Исключение истечения времени ожидания запроса. Исключение. Оно работает на платформе .net, но не работает на ядре .net. Я пробовал Mock <>, но выдает ошибку, что платформа не поддерживает это.

   using (Y db = new Y())
        {
            using (var transaction = db.Database.BeginTransaction())
            {
                db.Table.Add(new Table());
                db.SaveChanges();
                public static void add<Y>(Func<T, bool> condition)
                {
                    tableobject = Db.Set<Y>().where(condition).FirstOrDefault();
                    Db.Set<Y>().Add(tableobject);
                    Db.SaveChanges();
                }
                Transaction.Commit();
            }
        }

1 Ответ

0 голосов
/ 16 мая 2019

Я внесу некоторые изменения в вопрос для представления реальной ситуации.Я нахожу решение.Это метод, который принимает параметры и создает новый экземпляр MyDbContext.Я вызвал этот метод в транзакции, и если вы работаете с ядром .net, вы не можете создать два экземпляра dbcontext. Вы можете работать только с одним dbcontext.И я передал свой класс Dbcontext методу, и проблема решена.

...