Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.59/22: Рейтинг темы: голосов - 22, средняя оценка - 4.59
1 / 1 / 0
Регистрация: 15.12.2018
Сообщений: 260

Одновременное обращение к одной БД в Entity Framework

01.09.2021, 19:47. Показов 4908. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется БД, написанная с применением EntityFramework. Хотелось бы понять, как можно реализовать одновременный доступ к базе данных? В начале я параллельно запустил Task'и
C#
1
2
3
Parallel.Invoke( () => shop.ReserveProduct("Coca-Cola", 5), 
                 () =>  shop.ReserveProduct("Coca-Cola", 5),
                 () =>  shop.ReserveProduct("Coca-Cola", 5));
Но результат - исключение, ведь к контексту нельзя обратиться, если он уже занят. Вопрос - как подобное решить? Я пробовал через try-catch, но получается, что не каждый запрос будет выполнен, что нежелательно. Попробовал через цикл, но тоже как-то не так. Есть более рациональные варианты?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.09.2021, 19:47
Ответы с готовыми решениями:

Entity framework, обращение к таблицам
Здравствуйте, хотел бы узнать как можно обратиться к таблицам, которые были созданы entity, к примеру "AspNetUserRoles" ?

Обращение к таблице связей в entity framework
Доброе время суток.. Делаю программу для работы с базой, через entity framework. Так вот возник вопрос, у меня есть пару таблиц (Меню и...

Обращение к хранимым процедурам и функциям из Entity Framework Core
Вот сама БД CREATE DataBase CarLibrary GO USE CarLibrary GO CREATE TABLE Types

22
 Аватар для werymag
27 / 12 / 1
Регистрация: 20.05.2015
Сообщений: 217
02.11.2023, 15:48
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Andrey-MSK Посмотреть сообщение
werymag, SqlDataReader может получить несколько наборов данных за один запрос. Например
SQL
1
2
3
4
SELECT ... FROM ... WHERE ... ;
SELECT ... FROM ... WHERE ... ;
SELECT ... FROM ... WHERE ... ;
SELECT ... FROM ... WHERE ... ;
При выполнении команды (SqlCommand) будут получены четыре набора данных, которые потом можно будет разобрать с помощью SqlDataReader.
Спасибо, запомню этот способ. Но, видимо, проще уже через потоки сделать , чем 10 таблиц делить.
0
 Аватар для Andrey-MSK
3371 / 2257 / 388
Регистрация: 14.08.2018
Сообщений: 7,646
Записей в блоге: 4
02.11.2023, 15:49
Цитата Сообщение от werymag Посмотреть сообщение
Но, видимо, проще уже через потоки сделать
Пример посмотрите, там не сложно.
1
1341 / 920 / 265
Регистрация: 08.08.2014
Сообщений: 2,774
03.11.2023, 11:28
Цитата Сообщение от werymag Посмотреть сообщение
Спасибо, запомню этот способ. Но, видимо, проще уже через потоки сделать
Зависит от ваших потребностей. Если задача - максимально ускорить получение данных, то надо открывать десять подключений в десяти потоках и загружать данные параллельно, т.к. даже если сделать один датаридер с кучей таблиц внутри, то это избавит от 10 пингов по 100ms, конечно, но получение/разбор данных всё равно будет происходить последовательно (т.к. датаридер всего один). В т.ч. поддержка кода будет проще, если разбить его на 10 маленьких сервисов со своей сферой ответственности у каждого.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.11.2023, 11:28

Одновременное обращение к разным tr в пределах одной таблицы
Всем привет. Есть условная таблица. Первую строку нужно закрасить синим цветом, вторую и последующие - жёлтым. <table> ...

Entity Framework Сохранение одной таблицы
Я понимаю что тема уже изъезжена, но все-таки... Есть ли какой то способ сохранения отдельной таблицы из всего контекста данных в...

В чем разница между Entity Framework и Entity Framework Core?
В чем разница (если она есть) между entity framework и entity framework core?

Выборка только одной строки. Entity Framework
Как извлечь данные из client, если я знаю, что там будет только одна запись? Такой код работает, но хотелось бы что-то без foreach. ...

Добавление в таблицу одной заявкой в Entity Framework
Структура представляет собой три таблицы: Products, Orders, ProductOrders. Где ProductOrders у нас много-ко-многим. И содержит по мимо...


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

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал. Оно само - говорит. Кто слышит тот слышит.
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru