|
4 / 4 / 1
Регистрация: 26.12.2024
Сообщений: 225
|
|
.NET 9 EF Core. Общий контекст на связанные сущности03.02.2025, 04:27. Показов 3299. Ответов 23
Здравствуйте. Есть проект, в котором есть связанные сущности (один-ко-многим). Набор и значения в этом наборе.
Как я полагаю, я должен создать два репозитория под каждую из этих сущностей. Допустим, с помощью Include я могу получить их в репозитории набора, но если я, к примеру, добавил новый набор и туда добавил значения, или просто в уже существующий набор добавляю значения, как мне обновлять контекст, чтобы все было синхронизировано?Должен ли у меня быть третий класс, который будет хранить общий контекст на время жизни приложения или еще что-то?
0
|
|
| 03.02.2025, 04:27 | |
|
Ответы с готовыми решениями:
23
Связанные сущности Doctrine2 Doctrine 2 и связанные сущности |
|
14096 / 9313 / 1349
Регистрация: 21.01.2016
Сообщений: 34,988
|
|||
| 03.02.2025, 06:20 | |||
SaveChanges() ?
0
|
|||
|
4 / 4 / 1
Регистрация: 26.12.2024
Сообщений: 225
|
|||
| 03.02.2025, 07:16 [ТС] | |||
ViewModel, в котором проинициализированы два репозитория SetRepository и WordRepository. Для простоты понимания чуть подробней опишу сущности. Set - набор сущностей. Word - это слово. В наборе может быть много слов. К примеру, я хочу в набор добавить слово. Во ViewModel вызываю из WordRepository метод Add. Я в правильном направлении думаю или нет?Добавлено через 2 минуты Но контекста то два должно быть. Один в одном репе, другой в другом. Как их связать? Ведь одна сущность связана с другой.
0
|
|||
|
14096 / 9313 / 1349
Регистрация: 21.01.2016
Сообщений: 34,988
|
||||
| 03.02.2025, 07:29 | ||||
|
0
|
||||
|
4 / 4 / 1
Регистрация: 26.12.2024
Сообщений: 225
|
|
| 03.02.2025, 07:31 [ТС] | |
|
0
|
|
|
14096 / 9313 / 1349
Регистрация: 21.01.2016
Сообщений: 34,988
|
|
| 03.02.2025, 07:35 | |
|
Vissmuy, если есть веские причины разные использовать, то можно и разные. Но обычно так не делают и переиспользуют один.
0
|
|
|
4 / 4 / 1
Регистрация: 26.12.2024
Сообщений: 225
|
|
| 03.02.2025, 07:42 [ТС] | |
|
Usaga, хорошо, я понял.
0
|
|
|
1339 / 919 / 264
Регистрация: 08.08.2014
Сообщений: 2,763
|
|||||||
| 03.02.2025, 07:50 | |||||||
|
Экземпляр контекста создаётся для выполнения конкретной операции, после чего сразу же диспозится.
0
|
|||||||
|
4 / 4 / 1
Регистрация: 26.12.2024
Сообщений: 225
|
||
| 03.02.2025, 07:55 [ТС] | ||
|
0
|
||
|
1339 / 919 / 264
Регистрация: 08.08.2014
Сообщений: 2,763
|
||
| 03.02.2025, 07:58 | ||
|
Полученные для отображения данные могут храниться: 1. В свойствах VM, если они нужны для отображения. 2. Где-то в кэше модели, если там и в самом деле очень много данных, к которым нужен ну очень частый доступ, и они редко меняются, а сервер БД (или API) при этом расположен далеко и обращения к нему выполняются слишком медленно. P.S.: вообще, заморачиваться на кэширование имеет смысл только когда в этом вот прям реальная потребность возникает, потому как это сразу порождает всякие неудобные задачи - например, как принимать решение об актуализации кэша, если данные в БД могут меняться другим пользователем/приложением.
0
|
||
|
14096 / 9313 / 1349
Регистрация: 21.01.2016
Сообщений: 34,988
|
||
| 03.02.2025, 08:58 | ||
|
0
|
||
|
4 / 4 / 1
Регистрация: 26.12.2024
Сообщений: 225
|
|
| 03.02.2025, 09:20 [ТС] | |
|
0
|
|
|
|
|
| 03.02.2025, 09:26 | |
|
https://learn.microsoft.com/ru... ew=net-8.0
IMemoryCache типа.
1
|
|
|
14096 / 9313 / 1349
Регистрация: 21.01.2016
Сообщений: 34,988
|
|
| 03.02.2025, 09:27 | |
|
Vissmuy, в смысле код, умышленно реализующий функционал кеширования. А не эксплуатирование побочных эффектов того, что под это прямо не задумывалось.
1
|
|
|
14 / 13 / 1
Регистрация: 13.02.2025
Сообщений: 33
|
||
| 15.02.2025, 14:03 | ||
|
0
|
||
|
14096 / 9313 / 1349
Регистрация: 21.01.2016
Сообщений: 34,988
|
|
| 17.02.2025, 06:09 | |
|
Calabonga, EF уже реализует данный паттерн)
0
|
|
|
14 / 13 / 1
Регистрация: 13.02.2025
Сообщений: 33
|
||
| 17.02.2025, 07:02 | ||
И, кстати, предполагая полемику на предмет "надо" или "не надо" использовать UnitOfWork, приведу свои доводы. Почему НЕ надо использовать Вот несколько аргументов в пользу того, чтобы отказаться от реализации паттернов Unit of Work и Repository при использовании EntityFramework Core:
Почему надо использовать А вот несколько контрагрументов в ответ на аргументы из предыдущего параграфа:
В любом случае, любой инструмент, нужно использовать по назначению.
0
|
||
|
14096 / 9313 / 1349
Регистрация: 21.01.2016
Сообщений: 34,988
|
||
| 17.02.2025, 07:58 | ||
|
Calabonga, EF уже реализует данный паттерн)
0
|
||
|
14 / 13 / 1
Регистрация: 13.02.2025
Сообщений: 33
|
||
| 17.02.2025, 08:08 | ||
0
|
||
|
14096 / 9313 / 1349
Регистрация: 21.01.2016
Сообщений: 34,988
|
|
| 17.02.2025, 08:16 | |
|
Calabonga, какие данные прописывать?
0
|
|
| 17.02.2025, 08:16 | |
|
Помогаю со студенческими работами здесь
20
Как лучше организовать бизнес-логику и сильно связанные сущности EntityFramework 6. Disconnected Scenario. Удалить, добавить или изменить две связанные сущности Entity Core контекст не читает commit записи Создать модель Entity Framework, содержащую две сущности, связанные соотношением один-ко-многим core data, две сущности Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Ниже машинный перевод статьи The Thinkpad X220 Tablet is the best budget school laptop period .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы,. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|