Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
4 / 4 / 1
Регистрация: 15.04.2017
Сообщений: 346
.NET 5

Как в EF пользоваться методом Update?

21.12.2022, 14:28. Показов 1719. Ответов 21

Студворк — интернет-сервис помощи студентам
Добрый день. Есть пример кода:
C#
1
2
3
4
    dbOne.Database.EnsureCreated();
    dbOne.IncomeDetails.Where(x => x.IncId == SelectedRowIncome.IncId).Load();
    //dbOne.IncomeDetails.Update(); оптимизировать по-возможности
    dbOne.IncomeDetails.Update();
dbOne - контекст БД
IncomeDetails - модель
Как правильно сделать Update Incomedetails по условию?
Может примеры есть какие, где на "пальцах"?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.12.2022, 14:28
Ответы с готовыми решениями:

Как пользоваться методом animate?
Добрый вечер! Данный код получает значение из prompt , подставляет их в переменную, и после клика по диву, плавно увеличивает полоску, но...

Как пользоваться методом Array.Find
Здравствуйте ! Подскажите , как допустим в таком массиве найти есть ли в нем число 12 ? В таких случаях применяют...

Как включить/выключить Update другим методом?
Здравствуйте. Мне надо, чтобы метод Update работал не постоянно, а включался/ выключался другим методом. Можно ли так сделать? и если да,...

21
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
23.12.2022, 19:10
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Usaga Посмотреть сообщение
А я ЗА такие советы. Чтобы начинающий с порога знал, что технология, которую он взял в руки, проблемная.
Технология не проблемная, а просто вам не подходящая, и винить тут кого то кроме вас (команду имею в виду) было бы неразумно, стоило бы изначально выбирать более производительный вариант.
Если уж упарываться в скорость, то стоит сразу писать логику в хранимках, а то вдруг окажется что и С# тормознутый, вы же не будете переписывать все на ассамблере?

Добавлено через 11 минут
Usaga, лично мы до часа Х пользовались библиотекой Castle.Proxies (ленивая загрузка вложенных объектов для EF) пока сервер не стал ложится из-за зашкаливающего кол-ва коннектов к БД. Когда установили причину, убрали ленивую загрузку и вписали недостающие инклуды - все вновь полетело. Это же не значит что не нужно пользоваться ленивой загрузкой.
1
Эксперт .NET
 Аватар для Usaga
14807 / 9580 / 1368
Регистрация: 21.01.2016
Сообщений: 36,086
24.12.2022, 02:14
Цитата Сообщение от Рядовой Посмотреть сообщение
Технология не проблемная, а просто вам не подходящая, и винить тут кого то кроме вас (команду имею в виду) было бы неразумно, стоило бы изначально выбирать более производительный вариант.
Если уж упарываться в скорость, то стоит сразу писать логику в хранимках, а то вдруг окажется что и С# тормознутый, вы же не будете переписывать все на ассамблере?
Выбирать более производительный вариант можно было только в случае, когда мы бы знали все особенности и проблемы EF'а. А мы не знали. Новый инструмент для нас был. И пользовались им строго так, как тогда MS рекомендовал в своих гайдах. Хранимки у нас уже были. Поддерживать их было сложно, поэтом захотелось на код на C# перейти. И это работало.

И эта технология (конкретно - EF, а не все ORM в целом) именно проблемная и именно для всех не подходящая. Я уже много раз тут объяснял в деталях: в простых проектах она особо пользы не даёт (относительно голых SQL-запросов, с даппером каким-нибудь), а в мало-мальски крупных уже упираешься в ограничения её возможностей.

И не понимаю я этих крайностей: либо EF со всеми максимально хреновыми практиками, либо хранимки. А EF без хреновых практик не можно? Проекции, там, к примеру?

Цитата Сообщение от Рядовой Посмотреть сообщение
Usaga, лично мы до часа Х пользовались библиотекой Castle.Proxies (ленивая загрузка вложенных объектов для EF) пока сервер не стал ложится из-за зашкаливающего кол-ва коннектов к БД. Когда установили причину, убрали ленивую загрузку и вписали недостающие инклуды - все вновь полетело. Это же не значит что не нужно пользоваться ленивой загрузкой.
Значит, на самом деле) И вы уже прошли через это сами. Ленивая загрузка - это попытка облегчить проблемы изначально неправильного подхода выгребания избыточных данных просто потому, что это просто. Сами MS такое в своих гайдах указывали. "Выгреби мне всё, я возьму из этого что нужно". А потом оказывается, что оно тормозить начинает.

Следующим этапом у вас будет разбиение запросов с вынесением части инклудов в виде отдельных запросов. EF Core посдених версий этому уже научили, но он не может знать как оптимальнее для каждого случая это делать, а программист знает. А затем вы придёте к тому, что начнёте уже использовать проекции, без инклюдов.

Всё упирается в пресловутое "оно пока ещё работает и особо не жалуются". Оттуда и все оправдания использования EF'а и его практик.

Я никого не хочу отговаривать от EF'а. Я хочу сказать, что большинство использует EF неоптимально. По принципу - не падает и ладно. Но разве это правильно? Видимо, для большинства людей - да.

А в большинстве случаев можно использовать не EF для ещё большей оптимальности. Причём бесплатно, со всеми плюшками полновесной ORM. И даже с тем же LINQ'ом. Но нет же... Ну как хотите.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.12.2022, 02:14

Как пользоваться методом Fill, который читает содержимое файла и заполняет соответствующее поле объекта?
Я искал и не нашел информацию о методе Fill. Можете привести пример, как им пользоваться?

как пользоваться программатором для Whirlpool, раздобыл программатор, а как им пользоваться я не знаю
подскажите плиз

Почему нельзя пользоваться методом getResources()
Почему в одной программе такая запись возможна InputStream inputStream = null; try { inputStream =...

Когда нужно пользоваться методом Заблокировать() у объекта?
Какие проблемы решает? Написано, блокирует объект для изменения другими пользователями, это значит, что у каждого объекта, при изменении,...

Обновление данных методом Update
Итак, есть форма с ДатаГридом. Делаю в ДатаГриде изменения, нажимаю кнопку Сохранить и:Imports System.Data.OleDb Imports...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru