efcore专题

ASP.NET Core 入门教程三 结合 EFCore 和 SQLite

ASP.NET Core 是一个开源的 Web 框架,它允许开发者轻松地构建现代、高性能的 Web 应用程序。Entity Framework Core (EFCore) 是一个轻量级、可扩展的 ORM(对象关系映射)框架,它支持多种数据库。SQLite 是一个轻量级的嵌入式数据库,适用于小型应用程序。在本篇文章中,我们将学习如何在 ASP.NET Core 项目中结合 EFCore 和 SQLi

asp net core中用efcore操作MySql数据库【包括事务回滚】

一、环境 开发环境:Win11,VisualStudio2022,MySQL Server 8.0,.Net Core7.0 测试 二、MySQL和EFCore相关的包 用NuGet包管理器安装 ​​​​​​​​​​​​​​ 三、数据库中设置 安装好MySQL数据库,做好基础设置,测试数据连接 用数据库管理软件登录: 四、创建数据库的表 本例只创建两个简单的表。 在创建

使用EFCore封装Service层CRUD代码

在使用asp.net core写后端接口的时候,经常会有很多相似的crud操作,甚至有的接口只需要一行代码就能实现,还要在service层里面定义方法,再来调用,显得很繁琐,因此可以利用c#里面的泛型对service层代码进行封装,写一些通用的crud操作,方便将来进行调用。 1、定义实体类的基类 public class BaseModel<Key>{[Key]public K

使用EFCore和Linq查询语句封装复杂的查询结果

这里举一个例子,用到了三个实体类,分别是 [Table("t_user")]public class User{[Key]public long Id { get; set; }public string UserName { get; set; }public string Password { get; set; }public string Email { get; set; }pub

EFCore 关联表查询_多表使用整理

一、EF Core 查询出关联表数据 EF Core 默认不支持查询中带出关联表数据,如果需要则使用Include() 声明加载 ctx.Categories.Include(c => c.Products).Include(c => c.News); 二、EF Core 关联表条件筛选 场景案例举例子 1. Sql 语句场景 需求举例 ---查询指定角色下的菜单select *

年少不知EFCore好,错把SqlSugar当成宝

背景:依然记得我的第一份WebApi项目使用得是SqlSugar,当时还没有系统学习b/s这边的知识,跟着别人做项目用SqlSugar觉得非常方便,减少了自己手写ADO.Net的痛苦。但是今天发现这个EFCore也是巨好用啊,下面写一下他的简单使用。 1、安装NuGet包 -- 第一个是对应当前要使用的数据库的,第二个就是EFCore的工具的 2、创建数据库实体类

EFCore高级技术:表达式树

表达式树(expression tree)是用树形数据结构来表示代码逻辑运算的技术,在运行时访问逻辑运算的结构。 1、可以从Lambda表达式生成的表达式树: Expression<Func<TBook, bool>> e1 = b => b.Price > 5; 编译器会把 b => b.Price > 5构建成Expression的表达式树对象。 var e2 = db.TBooks.

EFCore 反向工程(DBFirst)----慎用

使用EFCore时一般推荐code first,也就是先创建实体类,然后根据实体类生成数据表。但是有时候数据表已经存在,这时候就需要基于数据库表来创建实体类。 首先已经有数据表,显示如下: 下载依赖包: Microsoft.EntityFrameworkCore.SqlServer Microsoft.EntityFrameworkCore.Tools 控制台执行如下命令: S

Net8 ABP VNext完美集成FreeSql、SqlSugar,实现聚合根增删改查,完全去掉EFCore

没有基础的,请参考上一篇 彩蛋到最后一张图里找 参考链接 结果直接上图,没有任何业务代码 启动后,已经有了基本的CRUD功能,还扩展了批量删除,与动态查询 动态查询截图,支持分页,排序 实现原理: FreeSql导航参考官方地址 聚合根(实验室) | FreeSql 官方文档 继承IReadOnlyRepository接口,实现用FreeSql实现所有功能即可

EFcore的实体类配置

1 约定配置 约定大于配置,框架默认了许多实体类配置的规则,在约定规则不满足要求时,可以显示地定义规则 1 数据库表明在不指定的情况下,默认使用的是数据库上下文类【DBContext】中DbSet 的属性名; 2 数据库表列的名字默认使用的是实体类属性的名字;列的数据类型采用与实体类属性类型相兼容的类型; 3 数据库列的可空性取决于对应实体属性的可空性; 4 实体类的属性为Id时,在数据库中对应

efcore事务

在 Entity Framework Core (EF Core) 中,事务用于确保一系列数据库操作要么全部成功,要么全部失败,这对于保持数据的一致性非常重要。以下是使用 EF Core 实现事务的一个简单示例: 首先,请确保安装了 EF Core。如果你使用的是 .NET Core 3.1 或更高版本,可以通过 NuGet 安装对应的包。例如,如果你的数据库是 SQL Server,可以安装

使用EFCore连接SQLite

简介 在使用EFCore连接SQLite之前我们先来了解一下SQLite SQLite是一个轻量级、自包含、无服务器、零配置的事务性SQL数据库引擎,它支持SQL92标准的大多数查询语言并兼容ACID事务。具体如下: 轻量级:SQLite非常轻巧,它的库体积小,资源占用低,特别适合于嵌入式设备和移动应用,有时仅需几百KB的内存即可运行。自包含:作为一个自给自足的数据库,SQLite不需要单独

【EFCore仓储模式】介绍一个EFCore的Repository实现

阅读本文你的收获 了解仓储模式及泛型仓储的优点学会封装泛型仓储的一般设计思路学习在ASP.NET Core WebAPI项目中使用EntityFrameworkCore.Data.Repository 本文中的案例是微软EntityFrameworkCore的一个仓储模式实现,这个仓储库不是我自己写的,而是使用了一个老外写的EntityFrameworkCore.Data.Repository

杨中科 .NETCORE EFCORE第七部分 一对一,多对多

一对一 一对一关系配置 1、builder.HasOne(o =>o.Delivery).WithOne(d=>d.Order).HasForeignKey(d=>dOrderId); 2、测试插入和获取数据 示例 新建 Order 新建 Delivery DeliveryConfig OrderConfig 执行 迁移命令 查看数据库 测试数据插入

杨中科 .NETCORE EFCORE 第一部分 基本使用

一 、什么是EF Core 什么是ORM 1、说明: 本课程需要你有数据库、SOL等基础知识。 2、ORM: ObjectRelational Mapping。让开发者用对象操作的形式操作关系数据库 比如插入: User user = new User(Name="admin"Password="123”;orm.Save(user); 比如查询: Book b = orm.Book

杨中科 EFCore 第二部分 实体配置

实体的配置 约定配置 主要规则: 1:表名采用DbContext中的对应的DbSet的属性名。 2:数据表列的名字采用实体类属性的名字,列的数据类型采用和实体类属性类型最兼容的类型。 3:数据表列的可空性取决于对应实体类属性的可空性。 4:名字为Id的属性为主键,如果主键为short,int 或者long类型,则默认采用自增字段,如果主键为Guid类型则默认采用默认的Guid生成机制生成主键值

.net core3.1 efcore DBFirst(生成实体类)

.net core3.1 efcore(生成实体类) 1.安装包 Install-Package MySql.Data.EntityFrameworkCore   Install-Package Pomelo.EntityFrameworkCore.MySql Install-Package Microsoft.EntityFrameworkCore.Tools Install-Package M

EFCore反向工程(Dbfirst根据数据库表来反向生成实体类)

输入命令 !在控制台先引入依赖 Install-Package Microsoft.EntityFrameworkCore.SqlServerInstall-Package Microsoft.EntityFrameworkCore.SqlServer.DesignInstall-Package Microsoft.EntityFrameworkCore.Tools-Pre 在进行反向工程

【性能优化】EFCore性能优化(一)-IEnumerable和IQueryable

阅读本文你的收获 了解EF Core在使用上应该要注意的地方学习EF Core的优化技术,如禁用跟踪、IQueryable接口等 一、问题描述 Entity Framework Core(以下简称EF)是微软自家出品的大型O/RM框架,使用EF Core,我们可以在C#中用操作对象的方式来访问和操作数据库,它可以帮助我们把对C#对象的增删改查,转换成对应的关系型数据库的SQL语句,同时可

EFCore: The ConnectionString property has not been initialized.

使用NuGet的程序包管理控制台执行命令“update-database”的时候报出该错误 经过检查发现是optionsBuilder.UseSqlServer(strConn);中的strConn没有写

EFCore:多线程中使用仓储方法,报错A second operation was started on this context instance before a previous operat

报错信息:上下文实例在销毁后又被第二次使用 System.InvalidOperationException: A second operation was started on this context instance before a previous operation completed. This is usually caused by different threads con

EFcore Repository 依赖注入

基于EFcore 实现基本的数据库操作 0.代码关系与结构如图所示: 存在两个数据表,分别是UserInfo表、Contacts表,应用Scaffold-DbContext生成Model 创建两个文件夹,分别是Services(接口)、Implementation(接口的实现) 1.操作步骤: a.创建IRepository接口; b.创建RepositoryBase:IReposi

EFcore 依赖注入

基于EFcore 采用DBFirst模式 实现DBContext依赖注入 1.SQL Server创建数据库 创建一个名为Example的数据库,并含有UserInfo、Contacts数据表 UserInfo字段: Contacts字段: 2.VS引入Nuget程序包 可以在程序包管理控制台 手动键入命令行安装Nuget包: install-package microsoft.

asp.net coremvc+efcore增删改查

下面是一个使用 EF Core 在 ASP.NET Core MVC 中完成增删改查的示例: 创建一个新的 ASP.NET Core MVC 项目。 安装 EF Core 相关的 NuGet 包。在项目文件 (.csproj) 中添加以下依赖项: <ItemGroup><PackageReference Include="Microsoft.EntityFrameworkCore.Sql