EF Core
2Ker
这个作者很懒,什么都没留下…
展开
-
EF Core之批量操作(EFCore.BulkExtensions)
EF Core之批量操作(EFCore.BulkExtensions)EFCore的批量操作性能也在不断完善当中,但还是不够优秀,数据量大的情况下还是要单独处理,这里我们使用EFCore.BulkExtensions(SqlServer)查询EFCore.BulkExtensions的批量查询还是不适合开箱即用,需要做一些基础封装,我们可以在Context里增加扩展方法public async Task<List<T>> WhereInAsync<T>原创 2021-01-17 09:34:39 · 2568 阅读 · 0 评论 -
EF Core之DBContext生命周期
EF Core之DBContext生命周期DBContext是EF Core的核心,.Net Core WebApi开发的时候,绝大多数的场景下,我们只需要一个Scoped的DBContext即可,但有的时候Scoped是没法满足需求的绝大多数场景下,只需要在Startup注入一个Scoped的Context即可:services.AddDbContext&amp;lt;DBContext&amp;...原创 2019-03-15 17:13:05 · 5091 阅读 · 0 评论 -
EF Core之自动历史记录
EF Core之自动历史记录有的场景下需要记录特定表的增删改操作,以便追溯。传统的做法是在增删改的方法里同步做记录,很繁琐。在这里我们可以配合EF Core的DBContext做一个全局管控全局管控自然就要有固定的格式我们可以建一个空接ITrackable口来标明需要追踪的表:public interface ITrackable{}对于需要追踪的表,继承ITrac...原创 2019-03-15 17:53:19 · 1079 阅读 · 0 评论 -
EF Core之SqlException处理
EF Core之SqlException处理外键,唯一约束等对后端检查起到了很多的帮助,但有的时候需要后端直接将报错信息反馈给前端。这个时候直接返回SqlException就不合适了,需要对其进行翻译,返回可读的信息EF Core的SqlException的全局处理还是要在DBContext里进行SaveChanges就是我们要处理的地方,EF Core对应的Exception是...原创 2019-03-15 18:33:40 · 1295 阅读 · 0 评论 -
EF Core之全局删除方案
EF Core之全局删除方案本文主要对EF Core的级联删除和软删除的全局配置作说明EF Core的外键默认是级联删除的,如果不想这样就只能手动配置,这里提供一种全局配置的方式:DBContext的OnModelCreating就是我们要处理的地方:protected override void OnModelCreating(ModelBuilder modelBuilde...原创 2019-03-16 07:16:32 · 3434 阅读 · 0 评论 -
EF Core之值转换
EF Core之值转换有的时候存在数据库里的数据和我们实际应用的是不一样的,以前只能在model里添加一个特殊的字段来手动转化,其实EF Core提供了一种更优雅解决方案—值转换值转换的应用非常简单,我们这里以TimeSpan数据为例:如果我们直接存储TimeSpan格式的数据,在SqlServer中是有问题的,这样的情况下,存储的数据只能是24小时以内的,这时候我们就需要存储为...原创 2019-03-16 07:29:44 · 1726 阅读 · 0 评论 -
.Net Core之动态多国语言
.Net Core之动态多国语言不只是.Net Core,几乎是所有平台的多国语言都是写死的,但有的时候需要动的多国语言该怎么办呢?这里提供一种方案:.Net Core + EF Core (也就是数据库资源).Net Core默认的StringLocalizer只支持Resource文件,语言种类是固定的,内容也无法在运行时更改,我们现在的方案是支持数据库,也可以在运行时实时修改内容...原创 2019-03-16 14:37:20 · 1381 阅读 · 0 评论