OnModelCreating вызывается один раз для контекста БД. Это проблема, поскольку идентификатор клиента устанавливается для каждого запроса.
Как мне переконфигурировать глобальный фильтр каждый раз, когда я создаю новый экземпляр dbcontext?
Если я не могу использовать глобальный фильтр, каков альтернативный способ?
Обновление:
Мне нужно было предоставить универсальный фильтр с выражением типа e => e.TenantId == _tenantId
. Я использую следующее выражение:
var p = Expression.Parameter(type, "e");
Expression.Lambda(
Expression.Equal(
Expression.Property(p, tenantIdProperty.PropertyInfo),
Expression.Constant(_tenantId))
p);
Поскольку это выполняется один раз, _tenantId исправлен. Поэтому, даже если я обновлю его, первое значение будет записано в выражении linq.
Итак, мой вопрос, как правильно установить правильную сторону этого равенства.