随笔分类 - ORM框架
主要是数据库ORM框架,包括EF6和EFCore等常见的数据库ORM框架
摘要:背景 在使用EFCore中碰到最多的一类问题就是自己写的Linq语句最终在转换为SQL语句的时候失败,特别是嵌套子查询的时候经常可能不符合预期,这个时候该怎么解决这个问题,这个是在进行SQL查询的时候经常碰到下面的这个错误: System.InvalidOperationException: Err
阅读全文
摘要:背景 在EFCore中我们经常有这样一种需求那就是我们需要同时匹配一个实体中的多个字段,这个在EFCore中一般的代码都是匹配特定的字段,如果遇到这种情况我们该如何准确进行匹配呢?这个时候就需要用到我们今天提到的扩展方法。 查询实例 在下面的例子中toAddVehicleOrderPlans是我们前
阅读全文
摘要:背景 在EFCore中有些时候我们不可避免需要将EFCore中使用Linq写的查询语句提前转换成SQL语句,特别是在写一些报表应用的时候特别适用,在我们的应用中我们可以将部分查询操作的语句通过Linq来写,然后再将其转换成SQL语句,将转换的SQL语句嵌入到其它SQL语句中,我们先来看看我们的是如何
阅读全文
摘要:背景 我们在做数据库过滤的时候不可避免要进行字符串过滤,那么如果是一张大表的话,那么这个字符串是否会使用上索引?索引过滤的效果怎么样?以及标题中提到的左模糊、右模糊和全模糊这些都是什么意思,在EFCore中到底该怎么用,带着这些问题我们进入今天文章的主题。 过程分析 1 右模糊 所谓的右模糊就是查询
阅读全文
摘要:背景 最近在使用EFCore2.2进行查询后并排序的过程中发现了一个问题,就是查询的过程使用了Include后代码生成的SQL不符合预期,并且性能上面有很大的问题,借此写一篇文章来进行分析。 1.1 EFCore语句 LinQ语句 _ = _repairContractRepository.GetA
阅读全文
摘要:背景 在后端使用EFCore进行数据库操作的时候,不可避免的要进行Group By操作,在进行Group By后有时候进行Sum的操作的时候EFCore是不能按照我们的预期生成正确的SQL的,而且这个问题EFCore的官方也没有给出一个好的解决方式,那么在使用EFCore2.2进行开发的时候这些问题
阅读全文
摘要:背景 在后端开发中优化查询效率始终是一个永恒的主题,如何使用更加高效的查询方式来优化服务器的查询性能是优化用户体验的一个非常重要的方式,在充分理解本篇文章之前有必要对SQL SERVER数据库中的一些基本概念有一个充分的认识,聚集索引、非聚集索引、覆盖查询这些基本的概念有一个充分的认识,我想了解这些
阅读全文
摘要:最近在开发的过程中遇到了一个问题,在使用EFCore2.2 版本进行开发的时候,调试的时候一直报Data is Null. This method or property cannot be called on Null values这个错误,凭自己的直觉又是哪个空类型的转换出了错误,但是问题到底该
阅读全文
摘要:背景 最近在使用EFCore2.1写代码的时候遇到一个问题,在最终的查询结果中有一个SinglePrice字段查询的结果总是不符合预期,按照自己的设想这个字段是主单的一个TotalFeeAfter字段和主单关联的清单其中的CouponFee合计这两者之间的差值,当然主单关联的清单可能不存在,所以当清
阅读全文
摘要:一 背景 今天在使用EntityFrameworkCore 查询的时候在调试的时候总是提示如下错误:Unable to cast object of type 'System.Data.SqlTypes.SqlString' to type 'System.Data.SqlTypes.SqlGuid
阅读全文
摘要:使用了这么久的EntityFrameworkCore框架,今天想来就其中的一个部分来做一个知识的梳理,从而使自己对于整个知识有一个更加深入的理解,如果你对EFCore中的实体关系不熟悉你需要有一个知识的预热,这样你才能够更好的去理解整个知识,在建立好了这些实体之间的关系以后,我们可以通过使用InCl
阅读全文
摘要:在我们的项目中经常采用Model First这种方式先来设计数据库Model,然后通过Migration来生成数据库表结构,有些时候我们需要动态通过实体Model来创建数据库的表结构,特别是在创建像临时表这一类型的时候,我们直接通过代码来进行创建就可以了不用通过创建实体然后迁移这种方式来进行,其实原
阅读全文
摘要:背景 最近在使用EFCore去连接阿里云上面的数据库进行开发的时候,当自己在Debug模式下总是提示下面的报错信息,然后找了好久都没有解决,报错信息如下: an exception has been raised that is likely due to a transient failure.
阅读全文
摘要:在我们使用EntityFrameworkCore作为数据库ORM框架的时候,不可避免的要重载DbContext中的一个虚方法OnModelCreating,那么这个方法到底是做什么的?到底有哪些作用呢?带着这些问题我们来看看在EntityFrameworkCore到底该如何使用OnModelCrea
阅读全文
摘要:在开始介绍之前,首先来看看官方对Entity Framework的解释:Entity Framework (EF) is an object-relational mapper that enables .NET developers to work with relational data usi
阅读全文