Я использую OrgID
на всех моих моделях в приложении ASP.NET, используя EF для разделения базы данных. Я делаю это так, чтобы база данных могла совместно использоваться несколькими пользователями, обеспечивая при этом доступность только данных их организации.
Это вынуждает меня записывать эту OrgID
при каждой вставке и фильтровать каждый вызовЯ делаю в базу данных.
Так, например, я запрашиваю у текущего пользователя OrgID
и вставляю это в Update
методы моих контроллеров, например:
store.OrgID = await _userManager.GetUserAsync(User).OrgID;
_context.Update(store);
await _context.SaveChangesAsync();
Затем, когда я хочучтобы перечислить объекты, мне снова нужно отфильтровать по OrgID
:
var orgID = await _userManager.GetUserAsync(User).OrgID;
var stores = await _context.Stores.Where(s => s.OrgID == orgID).ToListAsync();
Я бы хотел найти способ переопределить ApplicationDBContext
так, чтобы они обрабатывались автоматически, иначе это довольно утомительно и ошибкаСложная задача всегда обрабатывать это при каждом обращении к базе данных.
Любые предложения будут с благодарностью.