powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / DbContext.SaveChanges()
16 сообщений из 16, страница 1 из 1
DbContext.SaveChanges()
    #39615313
RAVen42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую всех!

Есть проблема, решение которой не могу найти.
Есть простой кусок кода (пример):
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
t_Orders order = new t_Orders();
using (dbEntities db = new dbEntities())
{
     order = db.t_Orders.Where(x => x.Id == orderId).FirstOrDefault();                   
 
     order.timeArrivalManual = order.timeArrivalCalc;
     order.timeDepartureManual = order.timeDepartureCalc;

     db.SaveChanges()
}



Так вот, этот простой кусок кода может выполнятся по 3-8 секунд. Казалось бы всё очень просто.

процесс замирает на db.SaveChanges()

Знающие люди подскажите в какую сторону копать?
...
Рейтинг: 0 / 0
DbContext.SaveChanges()
    #39615321
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какая СУБД? Что говорит профилировщик?
...
Рейтинг: 0 / 0
DbContext.SaveChanges()
    #39615324
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RAVen42,
Вклчить логирование в консоль и засечь время в бд. Може она тормозит.
...
Рейтинг: 0 / 0
DbContext.SaveChanges()
    #39615332
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RAVen42,
Код страный. Что он делает?
Копия нового?
...
Рейтинг: 0 / 0
DbContext.SaveChanges()
    #39615566
RAVen42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro СУБД MS SQL 2008R2 St.ed.
Профилировщик говорит duration = 35000
Смотрел также с помощью application insights, он показывает 43 SQL зависимости (я пока не разобрался что это такое) по 1- 5 ms. и 1 запрос к БД SQL от 3 до 8 сек.

Petro123RAVen42,
Код странный. Что он делает?
Копия нового?

Присвоить одному полю значение другого. Код вырван из контекста. Но именно в этом месте и происходят тормоза.

Я не могу понять почему простая операция апдейта одной записи через EF, делается так долго. Причем в SSMS выполняется мгновенно.
И самое интересное именно этот кусок кода, другие места с SaveChanges() работают норм.
...
Рейтинг: 0 / 0
DbContext.SaveChanges()
    #39615573
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RAVen42Профилировщик говорит duration = 35000что-то не то смотришь. Это 35 секунд, а не 3-8
...
Рейтинг: 0 / 0
DbContext.SaveChanges()
    #39615579
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
using (dbEntities db = new dbEntities())
{
     db.Configuration.ProxyCreationEnabled = false;
     db.Configuration.LazyLoadingEnabled = false;
 
     var order = db.t_Orders.FirstOrDefault(x => x.Id == orderId);                   
     order.timeArrivalManual = order.timeArrivalCalc;
     order.timeDepartureManual = order.timeDepartureCalc;

     db.SaveChanges();
}
...
Рейтинг: 0 / 0
DbContext.SaveChanges()
    #39615583
RAVen42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProRAVen42Профилировщик говорит duration = 35000что-то не то смотришь. Это 35 секунд, а не 3-8
3500 лишний 0
...
Рейтинг: 0 / 0
DbContext.SaveChanges()
    #39615590
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RAVen42,
Посмотреть в консоли какой пошел запрос и когда оооооочень трудно и долго.
...
Рейтинг: 0 / 0
DbContext.SaveChanges()
    #39615604
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RAVen423500 лишний 0Ну ок тогда, и как выглядит этот запрос в профилировщике?
...
Рейтинг: 0 / 0
DbContext.SaveChanges()
    #39615693
Агнец за бортом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RAVen42,

Так а запись то в принципе сохраняется?
...
Рейтинг: 0 / 0
DbContext.SaveChanges()
    #39615697
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RAVen42,

Так к контекстом твой код ничего не делает. Что ты там сохранять собралсо?
...
Рейтинг: 0 / 0
DbContext.SaveChanges()
    #39615715
RAVen42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Relic HunterRAVen42,

Так к контекстом твой код ничего не делает. Что ты там сохранять собралсо?
т.е.?


Агнец за бортом

Да конечно, в итоге всё сохраняется как и надо.
...
Рейтинг: 0 / 0
DbContext.SaveChanges()
    #39615723
Агнец за бортом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RAVen42Relic HunterRAVen42,

Так к контекстом твой код ничего не делает. Что ты там сохранять собралсо?
т.е.?


Агнец за бортом

Да конечно, в итоге всё сохраняется как и надо.

Ну и другие операции с этим же контекстом пролетают мгновенно?
...
Рейтинг: 0 / 0
DbContext.SaveChanges()
    #39616601
RAVen42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Агнец за бортом Да другие операции отрабатывают мгновенно.
Есть подозрения на блокировки со стороны SQL.
...
Рейтинг: 0 / 0
DbContext.SaveChanges()
    #39616622
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RAVen42,
Лог запроса в бд будет? Или через месяц?
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / DbContext.SaveChanges()
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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