![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
EntityFramework
文章平均质量分 81
懒人Ethan
毕业于天津理工大学,拥有超过10年dotnet和前端开发经验。PMP认证,Microsoft Certified认证。精通ASP.NET/ASP.NET Core、Angular和Vue的开发。
展开
-
EF Core中带过滤器参数的Include方法
本文主要介绍EF Core 5.0中一个新特性,就是Include方法支持带过滤器的委托参数,并且说明一下该特性在实际使用中的一个大坑,希望读者在未来的开发中避免踩坑。原创 2023-10-26 22:15:01 · 1212 阅读 · 0 评论 -
一个Entity Framework Core的性能优化案例
本文提供一个EF Core的优化案例,主要介绍一些EF Core常用的优化方法,以及在优化过程中,出现性能反复的时候的解决方法,并澄清一些对优化概念的误解,例如AsNoTracking并不包治百病。原创 2023-10-25 17:59:31 · 1223 阅读 · 0 评论 -
EF Core 批量插入操作原理分析
本文主要讨论EF Core 在批量添加操作的基本原理和优化方式,基本原理主要针对EF Core 6.0 和7.0两个版本。原创 2023-10-18 18:05:02 · 1031 阅读 · 0 评论 -
EF Core 7.0 新特性之批量修改
EF Core 7.0 提供了一个可以将LINQ查询和批量修改相结合的方法ExecuteUpdate。由于数据修改是以批量更新的方式完成,所以可以减少数据库的往返次数。本文将主要介绍ExecuteUpdate的使用方法。原创 2023-10-16 18:08:13 · 1681 阅读 · 0 评论 -
ASP.NET Core 如何自动完成数据迁移
我们在进行ASP.NET Core开发过程中,经常要面对一个问题,就是开发完成后,需要在测试,生产环境搭建同样站点。而数据库的搭建又是站点搭建中最麻烦的一个环节。本文介绍一种方法,可以直接在站点启动的时候,自动完成数据库的搭建和数据的初始化操作。原创 2022-05-30 14:50:52 · 716 阅读 · 0 评论 -
审计数据在EntityFramework中的解决方案
概要我们在项目开发中,通常会有数据审计的项目需求。即业务数据中要包含创建日期,修改日期,修改人等信息等。有些业务数据需要物理删除,有些数据需要逻辑删除。通常审计数据并不大量参与业务运算,只是为审计提供技术支持。如果我们在项目开发中,花费大量时间在这些审计数据的处理上,显然得不偿失。本文提出了一个简单的审计数据处理模型,通过EntityFramework加以实现。审计数据的需求总结核心所有业务数据都要包括数据的创建人,创建时间,修改时间和修改人。大部分核心数据要支持逻辑删除,所以要包括删除人,删原创 2021-12-13 18:05:33 · 1426 阅读 · 0 评论 -
C#中的IQueryable vs IEnumerable
概要我们在应用开发中经常用到IQueryable 和 IEnumerable两个接口。如果这两个接口搞混,往往会对程序性能造成很大的影响。本文以一个实例来区分这两个接口,说明在实际开发过程中,这两个接口如何使用。基本定义IEnumerableIEnumerable 是一个接口,客户代码通过实现该接口的GetEnumerator方法,来返回一个具体的IEnumerator.在实际应用中,IEnumerable 面向内存对象,它会将所有的数据载入到内存中,再进行各种操作。**IQueryable原创 2021-12-02 17:17:34 · 7271 阅读 · 2 评论 -
EntityFramework性能调优之N+1问题的解决
概要在项目开发中,EntityFramework作为一个非常成熟的ORM框架,被广泛使用。其简单易用的特点,极大的加快的开发进度。但是由此产生的性能问题也被很多人所诟病。N+1 条SQL语句问题就是一个比较典型的EntityFramework性能问题,在高并发环境,有时甚至可以使应用程序崩溃。本文就来讨论一下该问题的解决方案。应用场景N+1 问题一般出现在1对多数据对象的查询中,本文以银行分行(Branch)和ATM机两个对象,作为应用场景。一个Branch对应多个ATM机。对象关系如下图所示,对原创 2021-05-12 18:02:57 · 1138 阅读 · 7 评论