Как глобально фильтровать навигационное свойство в EF Core, используя организационную единицу текущего пользователя? ⇐ C#

Место общения программистов C#
Anonymous
Как глобально фильтровать навигационное свойство в EF Core, используя организационную единицу текущего пользователя?

Сообщение Anonymous »

Я строю систему ERP ERP , используя ef core , и мне недавно было поручено обеспечить видимость данных, основанную на организационной единице текущего пользователя (OU) .
Существует два OUS: Winemaker и Congec Maker . Пользователи могут при желании принадлежать одному из них. Правило:

[*] Если пользователь имеет an ou, он должен видеть только данные, которые принадлежат к их OU.
[*] Если пользователь не имеет данных !ouid.HasValue || x.Cistern.OrganizationUnitId == ouid);
[/code]
Это работает только в том случае, если я с нетерпением загружаю Cistern в запросах (wia .include (x => x.cistern) ). В других случаях это либо молча, либо проходит или бросает исключения во время выполнения, в зависимости от того, как написан запрос. на глобальном фильтровании объектов, таких как Cisternbalance на основе OU родительского объекта (
)?
Существует ли лучший шаблон проектирования для обеспечения фильтрации в течение всей системы?>

Подробнее здесь: https://stackoverflow.com/questions/796 ... t-users-or

Вернуться в «C#»