![]() 4 / 4 / 1
Регистрация: 26.12.2024
Сообщений: 223
|
|
.NET 9 EF Core. Общий контекст на связанные сущности03.02.2025, 04:27. Показов 1869. Ответов 23
Здравствуйте. Есть проект, в котором есть связанные сущности (один-ко-многим). Набор и значения в этом наборе.
Как я полагаю, я должен создать два репозитория под каждую из этих сущностей. Допустим, с помощью Include я могу получить их в репозитории набора, но если я, к примеру, добавил новый набор и туда добавил значения, или просто в уже существующий набор добавляю значения, как мне обновлять контекст, чтобы все было синхронизировано?Должен ли у меня быть третий класс, который будет хранить общий контекст на время жизни приложения или еще что-то?
0
|
03.02.2025, 04:27 | |
Ответы с готовыми решениями:
23
Связанные сущности Doctrine2 Doctrine 2 и связанные сущности |
![]() 4 / 4 / 1
Регистрация: 26.12.2024
Сообщений: 223
|
|||
03.02.2025, 07:16 [ТС] | |||
ViewModel , в котором проинициализированы два репозитория SetRepository и WordRepository. Для простоты понимания чуть подробней опишу сущности. Set - набор сущностей. Word - это слово. В наборе может быть много слов. К примеру, я хочу в набор добавить слово. Во ViewModel вызываю из WordRepository метод Add . Я в правильном направлении думаю или нет?Добавлено через 2 минуты Но контекста то два должно быть. Один в одном репе, другой в другом. Как их связать? Ведь одна сущность связана с другой.
0
|
1329 / 909 / 264
Регистрация: 08.08.2014
Сообщений: 2,671
|
|||||||
03.02.2025, 07:50 | |||||||
Экземпляр контекста создаётся для выполнения конкретной операции, после чего сразу же диспозится.
0
|
1329 / 909 / 264
Регистрация: 08.08.2014
Сообщений: 2,671
|
||
03.02.2025, 07:58 | ||
Полученные для отображения данные могут храниться: 1. В свойствах VM, если они нужны для отображения. 2. Где-то в кэше модели, если там и в самом деле очень много данных, к которым нужен ну очень частый доступ, и они редко меняются, а сервер БД (или API) при этом расположен далеко и обращения к нему выполняются слишком медленно. P.S.: вообще, заморачиваться на кэширование имеет смысл только когда в этом вот прям реальная потребность возникает, потому как это сразу порождает всякие неудобные задачи - например, как принимать решение об актуализации кэша, если данные в БД могут меняться другим пользователем/приложением.
0
|
![]() ![]() 13481 / 9013 / 1326
Регистрация: 21.01.2016
Сообщений: 33,826
|
||
03.02.2025, 08:58 | ||
0
|
![]() ![]() |
|
03.02.2025, 09:26 | |
https://learn.microsoft.com/ru... ew=net-8.0
IMemoryCache типа.
1
|
![]() ![]() 13481 / 9013 / 1326
Регистрация: 21.01.2016
Сообщений: 33,826
|
|
03.02.2025, 09:27 | |
Vissmuy, в смысле код, умышленно реализующий функционал кеширования. А не эксплуатирование побочных эффектов того, что под это прямо не задумывалось.
1
|
![]() 11 / 11 / 0
Регистрация: 13.02.2025
Сообщений: 19
|
||
17.02.2025, 07:02 | ||
И, кстати, предполагая полемику на предмет "надо" или "не надо" использовать UnitOfWork, приведу свои доводы. Почему НЕ надо использовать Вот несколько аргументов в пользу того, чтобы отказаться от реализации паттернов Unit of Work и Repository при использовании EntityFramework Core:
Почему надо использовать А вот несколько контрагрументов в ответ на аргументы из предыдущего параграфа:
В любом случае, любой инструмент, нужно использовать по назначению.
0
|
![]() 11 / 11 / 0
Регистрация: 13.02.2025
Сообщений: 19
|
||
17.02.2025, 08:08 | ||
![]()
0
|
![]() ![]() 13481 / 9013 / 1326
Регистрация: 21.01.2016
Сообщений: 33,826
|
|
17.02.2025, 08:16 | |
Calabonga, какие данные прописывать?
0
|
17.02.2025, 08:16 | |
Помогаю со студенческими работами здесь
20
Как лучше организовать бизнес-логику и сильно связанные сущности EntityFramework 6. Disconnected Scenario. Удалить, добавить или изменить две связанные сущности Entity Core контекст не читает commit записи Создать модель Entity Framework, содержащую две сущности, связанные соотношением один-ко-многим core data, две сущности Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
![]() |
||||
Рисование коллайдеров Box2D v2 на Three.js с помощью порта @box2d/core
8Observer8 06.06.2025
Используется порт Box2D v2 под названием @box2d/ core - пакет NPM. Загрузил документацию Box2D v2 на Netlify: https:/ / box2d-v2-docs. netlify. app/ Документацию Box2D v2 можно скачать с официального. . .
|
Как создать стек в Python
AI_Generated 05.06.2025
Как архитектор с более чем десятилетним опытом работы с Python, я неоднократно убеждался, что знание низкоуровневых механизмов работы стеков дает конкурентное преимущество при решении сложных задач. . . .
|
Server-Sent Events (SSE) в Node.js
run.dev 05.06.2025
Потоковая передача данных с сервера прямо в браузер стала повседневной потребностью - от биржевых графиков и спортивных трансляций до чатов и умных дашбордов. Много лет разработчики полагались на. . .
|
Создаем RESTful API на Golang с Fiber
golander 04.06.2025
Я перепробовал десятки фреймворков для создания RESTful API за последние годы, и когда впервые столкнулся с Fiber, понял, что это совсем другой уровень. Нет, я не собираюсь рассказывать сказки о. . .
|
Как работать с куки в ASP.NET Core
UnmanagedCoder 04.06.2025
Когда я впервые начал работать с куки в ASP. NET Core, меня поразило, насколько отличается работа с ними от классического ASP. NET. В Core все стало более декомпозированным - больше нет удобного. . .
|
Рисование коллайдеров физического движка Box2D-WASM v3 на Three.js
8Observer8 04.06.2025
Erin Catto (автор Box2D) переписал с нуля Box2D v2 с С++ на Си и появилась версия Box2D v3. Birch-san собрал Box2D v3 в WebAssembly (WASM), чтобы можно было использовать Box2D v3 на JavaScript.
В. . .
|
Worker Threads и многопоточность в Node.js
Reangularity 03.06.2025
Если вы когда-нибудь посещали собеседования на позицию Node. js разработчика, почти наверняка слышали заезженную фразу: "Node. js - однопоточная платформа". Звучит как неоспоримый факт, который. . .
|
Event-Driven CQRS на C# с паттерном Outbox
stackOverflow 03.06.2025
В традиционной модели происходит примерно следующее: вы получаете команду, обрабатываете ее, сохраняете результат в базу данных и затем пытаетесь опубликовать событие в брокер сообщений. Но что если. . .
|
OwenLogic: перенос сетевых переменных в панель Weintek (EasyBuilder Pro)
ФедосеевПавел 03.06.2025
ВВЕДЕНИЕ
ПЕРЕД ЭКСПЕРИМЕНТАМИ - СОЗДАЙТЕ РЕЗЕРВНЫЕ КОПИИ ПРОЕКТОВ
На момент написания статьи (02 июня 2025 г. ) самыми актуальными версиями ПО являются:
OwenLogic v. 2. 10. 366
EasyBuilder Pro. . .
|
Dev-c++5.11 Покорение вершины
russiannick 02.06.2025
С утра преследовала одна мысль - вот бы выучить С++. Сказано-сделано. Окончив смену, скачал в интернете бестселлер Дэвиса Dev-C++ для чайников. Книга оказалась интересной и я скачал среду, на примере. . .
|