
EF Core|SqlSugarCore|PetaPoco
文章平均质量分 66
EF Core是用于.NET的现代对象数据库映射器。 它支持LINQ查询,更改跟踪,更新和架构迁移。 EF Core通过提供程序插件API与SQL Server,Azure SQL数据库,SQLite,Azure Cosmos DB,MySQL,PostgreSQL和其他数据库一起使用。
.NET跨平台
比较认真。编程就是算法和数据结构,算法和数据结构是编程的灵魂。
展开
-
LINQ 时间分组高级用法(二)
我来介绍一些 LINQ 中关于时间分组的高级用法和常见场景。你可以根据业务需求选择合适的分组方式。原创 2024-11-15 14:14:24 · 174 阅读 · 0 评论 -
LINQ 时间分组高级用法(一)
);说明:按自定义时间段(如每 10 天)进行分组。原创 2024-11-15 14:13:40 · 388 阅读 · 0 评论 -
EF core中缺少System.Data.Entity.ModelConfiguration
尝试在实体框架核心的上动态加载所有配置。如果缺少,反之亦然。翻译 2023-01-13 00:59:55 · 354 阅读 · 0 评论 -
EntityFramwork 链接各类型数据库
提供postgresql的ADO模型,要匹配:.net 以及 2,3 的版本。1、安装插件 Npgsql PostgreSQL Integration。1、安装插件 Npgsql PostgreSQL Integration。程序编译出错了,要保证程序能够正常运行的基础上,更新数据库cs文件。5.cmd->cd 进入工程文件.csproj所在的文件夹 ->(官方插件有问题,使用这个社区版本)6、cmd->cd 进入工程文件。2、安装 EF框架 无框架限制。4、安装 EF6 for。转载 2022-12-10 19:55:27 · 656 阅读 · 0 评论 -
那些与EF有关的错误认知
前言这是一个对话性的讨论,它讨论了一个严重的问题趋势,我发现在由初级团队到架构师团队的各种规模的组织中,EntityFramework的利用率都很高。这不是一个如何做的问题,这也不适合新手。如果有什么能激发您的想法,或者您对我提到的事情感到好奇,那么Google是您的朋友。这也是我的第一篇博客文章。欢迎批评。历史和功能介绍(按版本)首先,让我们简单回顾一下EF随时间推移推出的功能。这绝不是详尽无遗的,当然也不会通过对主要版本的更新列出所有内容。它只是提醒了迄今为止EF的故事。EF / EF 3.5转载 2022-03-12 20:48:59 · 287 阅读 · 0 评论 -
Net Core使用依赖注入来装载EF Core的上下文对象
.net core中用了不少的依赖注入,官方文档中也推荐使用。这样使用依赖注入来管理ef对象,还是比较科学,比如想要单利就很简单了1:删除方法 protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder){ //#warning To protect potentially sensitive information in your connection string, you should mov转载 2022-02-05 00:16:11 · 839 阅读 · 0 评论 -
Entity Framework Core【无键实体类型】
此功能已添加到查询类型的名称下。 在 EF Core 3.0 中,概念已重命名为无键实体类型。 [Keyless]数据批注在 EFCore 5.0 中变为可用。除了常规实体类型外,EF Core 模型还可以包含 无键实体类型,可用于对不包含键值的数据执行数据库查询。定义无键实体类型可以使用数据批注或 Fluent API 来定义无键实体类型:数据批注[Keyless]public class BlogPostsCount{ public string BlogName { get;.转载 2021-10-06 21:25:03 · 1383 阅读 · 0 评论 -
.net core EF 连接 PostgreSQL
引入包using Microsoft.EntityFrameworkCore;using Microsoft.Extensions.DependencyInjection;using Npgsql.EntityFrameworkCore.PostgreSQL;EF 所需的Contextpublic class PostgreSQLContent : DbContext{ public PostgreSQLContent(DbContextOptions<PostgreSQLCon转载 2021-10-06 14:58:32 · 4384 阅读 · 1 评论 -
一、.NetCore EF 之命令行
一、前言最近在学习研究ABP,使用到微软的ORM框架 Entity Framework(后面简称EF),将其基本操作记录下来。二、程序包管理器控制台为了能够在控制台中使用命令行来操作EF,需要先安装Microsoft.EntityFrameworkCore.Tools。安装Install-Package Microsoft.EntityFrameworkCore.Tools更新通过该指令就可以升级Microsoft.EntityFrameworkCore.ToolsUpdate-Packa转载 2021-10-04 14:46:03 · 437 阅读 · 0 评论 -
EntityFramework Core的并发处理
什么叫并发假设一个场景:用户下了一个单,数据库的Order表存放这个订单数据,其中订单状态=待发货仓库从数据库中查询出这个代发货订单,进行发货逻辑处理,比如:判断订单状态判断地址是否能到达查询商品库存获取快递单号调用打印快递单服务更新订单状态/商品库存等等可以看出做发货逻辑处理耗时会比较长,正在这时候,顾客进行了退货申请,一个按钮点击申请退款,注意:业务逻辑要求已发货的订单不能申请退款,但是在顾客点击申请退款那一瞬间,发货流程还没走完,发货系统还在屁颠屁颠的处理发货逻辑,数据库里转载 2021-10-03 22:14:04 · 573 阅读 · 0 评论 -
在EF core 使用枚举类型
在EntityFramework Core中的实体是不直接支持枚举类型的操作,这让我们在开发过程中带来不少的麻烦,下面总结一下在ef core中使用枚举的方法.例如下面的**MsgInfo实体,对应着数据库表MsgInfo,其中字段SendState发送状态在业务逻辑上有发送成功和发送失败**两种枚举状态。但ef把它生成了int类型,而不是枚举,当然也不能修改成枚举,这样会导致ef写入和读取数据异常。原来的实体public partial class MsgInfo{ public stri转载 2021-09-25 01:59:09 · 1068 阅读 · 0 评论 -
(EF Core使用Include和join)|(Include和ThenInclude区别)
EF Core使用Include和join在EF中表连接常用的有Join()和Include(),两者都可以实现两张表的连接,但又有所不同。例如有个唱片表Album(AlbumId,Name,CreateDate,GenreId),表中含外键GenreId连接流派表Genre(GenreId,Name)。每个唱片归属唯一一个流派,一个流派可以对应多个唱片。1.Join():两表不必含有外键关系,需要代码手动指定连接外键相等(具有可拓展性,除了值相等,还能指定是>,<以及其他对两表的相应键转载 2021-09-15 23:50:11 · 5907 阅读 · 0 评论 -
EF Core 使用编译查询提高性能
今天,我将向您展示这些EF Core中一个很酷的功能,通过使用显式编译的查询,提高查询性能。不过在介绍具体内容之前,需要说明一点,EF Core已经对表达式的编译使用了缓存;当您的代码需要重用以前执行的查询时,EF Core将使用哈希查找并从缓存中返回已编译的查询。不过,您可能希望直接对查询进行编译,跳过哈希的计算和缓存查找。我们可以通过在EF静态类中下面两个方法来实现:EF.CompileQuery()EF.CompileAsyncQuery()这些方法允许您定义一个已编译的查询,然后通过转载 2021-09-12 02:21:17 · 665 阅读 · 0 评论 -
第十四节:EF Core性能优化
1.使用DbContext池在Core Mvc中,如果使用 AddDbContextPool 方法,那么在控制器请求 DbContext 实例时,我们会首先检查池中有无可用的实例。 请求处理完成后,实例的任何状态都将被重置,并且实例本身会返回池中。 从概念上讲,此方法类似于 ADO.NET 连接池的运行原理,并具有节约 DbContext 实例初始化成本的优势。eg: services.AddDbContextPool<BloggingContext>( options => opt转载 2021-09-07 00:32:33 · 1601 阅读 · 0 评论 -
.Net 性能优化--EFCore(EntityFrameworkCore)
新建.NET CORE CONSOLE控制台项目NetCoreConsole,管理NuGet程序包种添加一下引用//Microsoft.EntityFrameworkCore //EFCore //Microsoft.Extensions.Logging // 日志//Microsoft.Extensions.Logging.Console // 日志输出到Console控制台//Microsoft.Extensions.Logging.Debug // 日志输出到调试Debug//Micro转载 2021-09-07 00:04:07 · 694 阅读 · 0 评论 -
EntityFramework Core映射关系详解
前言Hello,开始回归开始每周更新一到两篇博客,本节我们回归下EF Core基础,来讲述EF Core中到底是如何映射的,废话少说,我们开始。One-Many Relationship(一对多关系)首先我们从最简单的一对多关系说起,我们给出需要映射的两个类,一个是Blog,另外一个则是Post,如下:public class Blog{ public int Id { get; set; } public int Count { get; set; } public st转载 2021-09-05 01:03:36 · 1020 阅读 · 0 评论 -
【备忘】EntityFramework 6 升级到 EntityFrameworkCore 注意点
正在将一个 .net framework 4.5 的项目升级到 .net core 2.1,其中使用到了 EF6,经历了一些修改:命名空间的变化基本上可以靠自动提示补充完整,不需要强记。DbQuery<T> 返回结果改为:IQueryable<T> 。Include 方法已经支持传入类型,可以不再需要扩展。DbContext.Configuration.AutoDetectChangesEnabled属性移动到:DbContext.ChangeTracker.AutoDet转载 2021-09-04 18:29:52 · 509 阅读 · 0 评论 -
EF Core的简单优化
概述本文都是一些比较low,比较简单的知识点1,延迟加载(懒加载)推迟到数据使用时加载;只有在进行ToList/ToArray/First/FirstOrDefault(),延迟加载导航属性等访问方法时;才会加载数据示例,使用代理来对导航属性进行延迟加载,virtual属性进行延迟加载1,使用Nuget安装Microsoft.EntityFrameworkCore.Proxies2,配置model,使用virtual属性public class UserInfo{ public lo转载 2021-09-02 00:32:32 · 821 阅读 · 0 评论 -
EF(EFCore)性能优化与高级用法
1、使用AsNoTracking()使用AsNoTracking()后,将不监听对象的状态(是否被改变);当确定查询出来的数据不会改变的时候使用AsNoTracking();使用context.Entry<User>(user).State 查看对象监听状态。关闭所有监听:context.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking;开启所有监听:context.ChangeTracker.Q转载 2021-09-02 00:10:26 · 3241 阅读 · 0 评论 -
利用EF Core的Join进行多表查询
背景话说有这么一家子,老公养了一条狗,老婆养了一只猫。数据库的设计人表宠物表通过表可以知道,宠物通过Owner指向主人的Id。问题来了,我要和故事开头一样,老公-狗,老婆-猫,对应起来,怎么查询呢?有同学说这还不简单?两个遍历一下不就行了。首先 取出 List<宠物>集合,再根据宠物的主人Id去查找对应的主人信息就好了。如果这样设计,那么将会执行3次查询:l 查出所有的宠物。l 查出阿猫的主人。l 查出阿狗的主人。数据量不大还好,数据量要是大一点这是非常影响速转载 2021-08-31 00:41:43 · 3734 阅读 · 0 评论 -
SqlSugar.NET之InitTables,Insert,Update,PageEach
InitTablesCode First生成表-SqlSugar4-文档园// 属性介绍// 我们会根据字段的属性生成数据库字段// IsNullable表示表字段是否可空// IsIgnore 为true表示不会生成字段到数据库// IsIdentity表示为自增列// IsPrimaryKey表示为主键// Length 表示字段长度// DecimalDigits 表示字段的精度 4.4// ColumnDataType 强制设置数据库字段的类型(考虑到切换数据库有些类型其转载 2021-06-29 17:09:28 · 2976 阅读 · 0 评论 -
SqlSugar 集成
10.1.1 关于 SqlSugarSqlSugar 是 .NET/C# 平台非常优秀的 ORM 框架,目前 Nuget 总下载突破 700K,Github 关注量也高达 3.2K,是目前当之无愧的国产优秀 ORM 框架之一。SqlSugar 官方地址:http://www.donet5.com/SqlSugar 与 EF 优势: 性能比 EF 更快、语法上手更容易SqlSugar 与 Dapper 优势: SqlSugar 功能更加丰富,性能丝毫不逊色于 Dapper,并且批量操作性能更好10.转载 2021-06-29 00:18:25 · 3147 阅读 · 0 评论 -
SqlSugar.NET 之Select,Delete,分页查询
1.select返回指定列匿名类集合.Select 用法-SqlSugar4-文档园SqlSugar 常用查询实例-拉姆达表达式 - 天马 3798 - 博客园string sql;var JArray1 = Newtonsoft.Json.JsonConvert.DeserializeObject<Newtonsoft.Json.Linq.JArray>(Newtonsoft.Json.JsonConvert.SerializeObject(db.Ado.SqlQuery<转载 2021-06-27 01:16:26 · 3193 阅读 · 0 评论 -
利用AOP实现SqlSugar自动事务
先看一下效果,带接口层的三层架构:BL层: public class StudentBL : IStudentService { private ILogger mLogger; private readonly IStudentDA mStudentDa; private readonly IValueService mValueService; public StudentService(IStudentD转载 2021-06-14 21:43:05 · 825 阅读 · 0 评论 -
SqlSugar 使用示例
Instance SqlSugar objectusing(var db = new SqlSugarClient(ConnectionString)){ //use object var list=db.Queryable<T>().ToList(); }Package instance/// <summary>/// SqlSugar/// </summary>public class SugarDao{ private SugarDao(转载 2021-06-14 18:35:19 · 4013 阅读 · 0 评论