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自定义用户控件动态添加
- asp.net-mvc – 为什么在ASP.NET MVC 3中,默认路由不适用于
- asp.net-mvc – asp.net mvc 4从控制器按钮调用方法
- asp.net-mvc – 使用Asp.Net MVC创建私人照片库
- asp.net-mvc – ASP.Net MVC尝试抓住最佳实践
- asp.net-mvc – MVC – 如何在整个应用程序中实例化,存储和
- 发布一款层次下拉列表控件
- asp.net – ViewState支持的属性不适用于列表
- asp.net-mvc – ASP.NET MVC DDD应用程序中的组合根
- asp.net – 按钮可以验证更多验证组吗?
- asp.net-mvc – ASP.NET MVC是否允许私有ViewMod
- 如何清除代码背后的整个asp.net页面?
- asp.net – 在web.config和asp页面中注册用户控件
- asp.net-mvc – 域模型中的ASP.NET MVC业务逻辑与
- asp.net结合Ajax验证用户名是否存在的代码
- asp.net-mvc-3 – 用于基本身份验证的asp mvc 3
- asp.net-mvc-3 – 造型ASP.NET MVC验证错误?
- asp-classic – 如何在asp页面中以编程方式301重
- asp.net viewstate加密问题
- ASP.net网站发布版本包括pdb文件.我该如何摆脱它