asp.net – 多租户架构的实体框架 – 按租户ID过滤单个表
|
我们正在寻找一种通过实体框架中的租户ID自动过滤所有CRUD操作的方法. 我们想到的想法是: >使用表值用户定义的函数 有小费吗? -谢谢 解决方法
表值函数仅在.NET 4.5 Beta中可用(并且在代码中不可用).使用它们仍然无法帮助您,因为您必须在每个LINQ查询中使用该函数,因此它与使用where子句相同.
它对一些特殊的复杂查询很有用,但通常不是你想要的.
过于复杂,完全不同的抽象层次.
接近理想的解决方案.您只需要将对实体集的访问权限包装成一些代码,如下所示: public class MultiTenantAccess<T> where T : IMultitenant
{
private IDbSet<T> set;
...
public IQueryable<T> GetQuery(int tenantID)
{
return set.Where(e => e.TenantID == tenantID);
}
}
有时这是一个名为Generic存储库的核心,但它实际上只是EF集的包装器.您将始终使用GetQuery查询数据存储,而不是直接使用DbSet. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – Ajax.Actionlink在新页面中打开
- 如何解决.Net中冲突的程序集?
- asp.net-mvc-4 – 使用KNOCKOUT.JS和ASP.NET MVC 4进行级联
- asp.net-mvc – 所有ASP.NET Web API控制器返回404
- asp.net – 为什么几次调用HttpApplication构造函数
- asp.net-mvc – 什么时候应该在ASP.NET MVC中使用异步控制器
- ASP.NET:如何重定向,预填充表单数据?
- 增加ASP.NET站点的executionTimeout和maxRequestLength是否
- 单声道和ASP.NET身份验证
- asp.net – Reflection构成了什么风险? (中等信任)
- asp.net-mvc – 我如何moq aingleingleResult?我
- ASP.NET – 如何有效地使用设计模式而不需要过度
- asp.net-mvc – 在MVC2中使用区域
- .net – 尝试捕捉仍然有用吗?
- asp.net-mvc – 在Azure Active Directory B2C中
- 在asp.net控件的style属性中使用DataBinder.Eval
- asp.net – 将包含子集合的DTO映射回域模型的设计
- asp.net-mvc – Bootstrap模式表单在提交后不会关
- .net – MVC3 HttpPostedFileBase首先上传没有数
- asp.net-mvc – ViewModel有自己的逻辑吗?
