ORM——EF
香煎三文鱼
百分之八十的问题可以运用百分之二十的知识来解决,而剩下的百分之二十的问题需要运用百分之八十的知识来解决。准备好那百分之八十的知识,才会在遇到有挑战的问题时更加游刃有余,机会永远留给准备好的人。
展开
-
使用ef core时提示There is already an open DataReader associated with this Connection which must be closed
使用ef core时提示There is already an open DataReader associated with this Connection which must be closed原创 2023-11-27 14:43:06 · 1654 阅读 · 0 评论 -
EF执行迁移时提示provider: SSL Provider, error: 0 - 证书链是由不受信任的颁发机构颁发的
ef在执行时提示provider: SSL Provider, error: 0 - 证书链是由不受信任的颁发机构颁发的。原创 2023-10-19 13:44:02 · 1239 阅读 · 0 评论 -
EF列表分页查询(单表、多表),排除参数为空的条件
在日常使用EF框架查询数据库时,有时传入的参数为空,那么我们应该把该条件排除,不应列入组装的sql中,本篇文件以分页查询为例介绍EF框架的单表、多表的多条件查询,参数为空时排除条件。原创 2023-09-02 17:14:36 · 1035 阅读 · 0 评论 -
5.Entity Framework Core 5.0 查询数据
EFCore主要是通过Linq这个方式查询数据库1、查询所有数据把Leagues里的所有数据查询出来第一种形式通过Linq方法.ToList(),EFCore遇到ToList()语句就会执行SQL查询,如果不加过滤条件的话就是把表里的所有数据查询出来第二种形式通过Linq查询表达式,查询结果与Linq方法是一样的[HttpGet]public IActionResult GetLeague() { //第一种形式 通过Linq方法 var leagues = _dbCon转载 2020-12-16 13:29:19 · 1419 阅读 · 0 评论 -
3.Entity Framework Core 5.0 设置字段属性
Model之间的【多对多】【一对多】【 一对一】的关系怎么设定,或者说数据表之间的【多对多】【一对多】【 一对一】的关系怎么设定;1、属性特性我们先讲一下这些字段或者叫属性,它们的属性怎么设定,比如说这个name这个属性,它在数据库中的字段类型是NVARCHAR(MAX),而实际上它的长度应该有一定限制,比如要求长度不超过100,那可以使用DataAnnotations的attribute[Maxlength(100)]使用DataAnnotations需要在Nuget中安装System.Co转载 2020-12-16 11:01:32 · 1310 阅读 · 0 评论 -
Entity Framework Core DbContext内置方法
DbContext方法Method Usage Add 将一个新实体添加到具有添加状态的DbContext中,并开始对其进行跟踪。调用SaveChanges()时,会将新的实体数据插入数据库。 AddAsync 用于向状态为“已添加”的DbContext添加新实体并开始对其进行跟踪的异步方法。调用SaveChangesAsync()时,会将新的实体数据插入数据库。 AddRange 将具有添加状态的新实体集合添加到DbContext并开始对其进行跟踪。调用SaveCh原创 2020-12-23 13:29:26 · 478 阅读 · 0 评论 -
The Entity Framework tools version升级
今天在执行数据库迁移的时候包控制台管理工具给了一个警告 如下:The Entity Framework tools version ‘5.0.13’ is older than that of the runtime ‘5.0.15’. Update the tools for the latest features and bug fixes.意思是:实体框架工具版本“5.0.13”比运行时版本“5.0.15”更旧。更新工具以获得最新的特性和bug修复。接下来以管理员身份打开CMD 运行以下命令原创 2022-03-17 10:39:40 · 2358 阅读 · 0 评论 -
1.Entity Framework Core 5.0教程,概述和准备
Entity Framework Core就是一个ORM,什么是ORM?EntityFramework Core能把C#里的类映射到数据库里的表,然后属性就映射到字段上。Entity Framework Core 3.1 是微软长期支持版本,3.1是一个长期支持的版本,而且从EFcore3.0开始是向后开辟了一个新时代。因为3.0和2.0之间的差异还是比较大,所以学3.1是一个比较好的选择。在2020年底NET5出来之后,也应该出来一个相应的版本,但是跟这个3.1差别应该不会太大。首先建三个Model.转载 2020-12-16 10:32:51 · 1915 阅读 · 1 评论 -
2.Entity Framework Core 5.0 创建数据库(code frist)和迁移
1、概述如何生成数据库以及后来发生变化进行迁移生成迁移的流程1、创建Model相当于是要映射到数据库中的表 2、创建Migration迁移文件(对源码版本控制友好) 3、使用Migration迁移文件来生成数据库或生成脚本执行要求AppDbContext 这个类是在Data类库项目中,而Data项目类型是一个类库,想让EFCore生成数据库或数据迁移的话,它必须有一个可执行文件,所以它这一个项目是不能执行的。那么就得需要依靠【Web应用程序】,它能生成可执行文件,就得通过它来生成数据库转载 2020-12-16 10:42:17 · 506 阅读 · 0 评论 -
6.Entity FrameWork Core 5.0 删除、修改数据
删除数据EFCore只能删除被Context追踪的数据,数据怎么能被追踪呢,只能先查询出来,然后操作删除方法,删除方法有四种,如代码所示;调用Remove()或RemoveRange()方法后还没有数据库执行动作,只有调用_dbContext.SaveChanges()才会执行数据库事务操作并返回影响行数。[HttpDelete]public IActionResult DeleteLeague() { //先查询出来,因为只能删除被追踪的数据 var league = _dbC转载 2020-12-17 09:29:14 · 880 阅读 · 0 评论 -
4.Entity Framework Core 5.0 添加数据
1、构造函数注入DbContext首先要与数据库进行交互的话,需要使用到AppDbContext这个类,需要在WebApi项目中控制器的构造函数注入DbContext2、添加数据然后添加一条数据,先new一个League,把这个对象添加到DbContext中,通过把对象添加到add()方法就可以了,这样就会被context进行变化追踪,但是还没有与数据库任何的交互,只不过是contact对它进行变化追踪,所以它的状态是新添加的。什么时候与数据库交互呢?也就是什么时候执行SQL语句呢?就是在调用转载 2020-12-16 13:18:51 · 371 阅读 · 0 评论 -
ef codefirst字段类型与sqlserver表字段类型对应概要
1、sqlserver中nvarchar(50),对应EF中:[MaxLength(50, ErrorMessage = "最大长度为{1}")]public string Name { get; set; }2、sqlserver中char(10),对应EF中:[MaxLength(10)][Column(TypeName = "CHAR")]public string Name { get; set; }3、sqlserver中smallint,对应EF中:public原创 2021-01-28 13:42:24 · 860 阅读 · 0 评论 -
EF框架在net中的用法
Entity Framework(EF)是一个流行的对象关系映射(ORM)框架,它允许开发人员通过使用对象模型来访问和操作数据库。在 .NET 5 中,EF 框架有一些新特性和改进。下面是 EF 框架在 .NET 5 中的详细用法:原创 2023-08-31 15:28:20 · 506 阅读 · 0 评论