我正在构建一个使用共享数据库和共享模式方法的多租户应用程序。因此,根据这种方法,我在每个表中都有“Tenant_Id”列。那么,是否有办法自动附加where子句到每个查询中...
我正在构建一个使用共享数据库和共享模式方法的多租户应用程序。因此,根据这种方法,我在每个表中都有“Tenant_Id”列。那么,是否有办法自动附加where子句到每个查询中...
您可以通过在 DbContext
周围创建包装器,并使用 where 子句覆盖每个实体集合来实现此目的。
public class WrapperContext : YourDBContext
{
public override DbSet<YourEntitity> YourEntities
{
get
{
return base.YourEntities.Where(t => t.Tenant_Id == someId);
}
set
{
base.YourEntities = value;
}
}
}