EntityFramework.Core如何通过依赖注入实现对数据库表的默认检索条件

bsxfbs 2018-11-07 09:56:28
考虑以下场景:
1、数据库表里均设置了删除标识字段IS_DELETE,要求Entityframework查询出来的数据都是IS_DELETE=False
2、对于某张表的数据需要增加默认的过滤条件(如 where、in、like),以实现数据访问权限的控制

可能有如下方法(请大神指点补充):
1、直接在Context中进行设置。 但如果context是脚手架生成,或者做了分离,这样很不灵活,耦合度高。
2、使用AutoMapper等工具,在转换时过滤。 问题是这样会先查出全部数据,数据量大的时候有问题。
3、依赖注入。问题是不会写,哈哈哈,使用的是EntityFramework.Core 1.1版本

欢迎讨论交流
...全文
793 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
晨易夕 2020-09-09
  • 打赏
  • 举报
回复
在Service的基类中实现你要查询的接口。
qq_21424291 2020-09-09
  • 打赏
  • 举报
回复
定义一个接口包含IS_DELETE 属性,所有实体都实现这个接口,然后给 IQueryable<TEntity> 写个扩展方法,泛型约束成之前定义的接口,在这个扩展方法里面添加过滤条件,然后返回 IQueryable<TEntity> 之后查询都用这个扩展查
泉低调前行 2020-05-12
  • 打赏
  • 举报
回复
现在都3.1了有些配置还得改
叫我 Teacher 周 2019-08-16
  • 打赏
  • 举报
回复
升级得了,还1.1,现在都2.2了,有一个 QueryFilter
  • 打赏
  • 举报
回复
这问题跟依赖注入没关系吧? 这是整套解决方案

13,347

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET技术前瞻
社区管理员
  • .NET技术前瞻社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧