我已经通过实体框架核心(共享架构、共享数据库)应用了多租户 以及存储在http Context请求中的tenantId,用户登录后会解析 但大多数时候租户 ID 不会随着不同的登录用户而改变
我的桌子:
m_tree.SetItem(this->GetRootItem(), TVIF_IMAGE, NULL, 2,2,0,0,0);
我的数据库上下文
public class Blog
{
private int _tenantId;
public int BlogId { get; set; }
public string Name { get; set; }
public string Url { get; set; }
public List<Post> Posts { get; set; }
}
}
答案 0 :(得分:0)
你有一个错误。您在 Blog 类中定义了 _tenantId 但试图在 AccountsTransactions 类中使用它。应该是这样的:
modelBuilder.Entity<Blog>().HasQueryFilter(p=>p._tenantId == this.tenantId);
但我很惊讶您如何在“ p._tenantId”中访问私有 _tenandId ?
如果您将属性定义为私有,则应使用以下语法:
modelBuilder.Entity<Blog>().HasQueryFilter(p => EF.Property<int>(p, "_tenantId") == this.tenantId);