随笔- 672
文章- 2
评论- 325
阅读-
281万
随笔分类 - EF Core
Multiple “order by” in LINQ(转载)
摘要:问: I have two tables, movies and categories, and I get an ordered list by categoryID first and then by Name.The movie table has three columns, ID, Nam
阅读全文
EF Core中如何取消跟踪DbContext中所有被跟踪的实体
摘要:首先定义一个DbContext的扩展类DbContextDetachAllExtension,其中包含一个DbContext的扩展方法DetachAll,用来取消跟踪DbContext中所有被跟踪的实体: 其用法如下:
阅读全文
EF(EF Core)中的NotMappedAttribute(转载)
摘要:NotMapped特性可以应用到EF实体类的属性中,Code-First默认的约定,是为所有带有get,和set属性选择器的属性创建数据列。。NotManpped特性打破了这个约定,你可以使用NotMapped特性到某个属性上面,然后Code-First就不会为这个属性在数据表中创建列了。我们看一下
阅读全文
EF Core中Join可以进行子查询
摘要:我们来看看下面的代码,这个代码是一个INNER JOIN的EF Core查询,其中用SubCategory表INNER JOIN了SubCategoryLanguage表,但是我们需要在SubCategoryLanguage表上只查询出其DataStatus等于1的行,所以需要用到子查询: 如上面代
阅读全文
EF Core 2.1 Raw SQL Queries (转自MSDN)
摘要:Entity Framework Core allows you to drop down to raw SQL queries when working with a relational database. This can be useful if the query you want to
阅读全文
EF Core 中DbContext不会跟踪聚合方法和Join方法返回的结果,及FromSql方法使用讲解
摘要:EF Core中: 如果调用Queryable.Count等聚合方法,不会导致DbContext跟踪(track)任何实体。 此外调用Queryable.Join方法返回的匿名类型也不会被DbContext所跟踪(实测调用Queryable.Join方法返回EF Core中的实体类型也不会被DbCo
阅读全文
如何处理Entity Framework / Entity Framework Core中的DbUpdateConcurrencyException异常(转载)
摘要:1. Concurrency的作用 场景有个修改用户的页面功能,我们有一条数据User, ID是1的这个User的年龄是20, 性别是female(数据库中的原始数据)正确的该User的年龄是25, 性别是male 这个时候A发现User的年龄不对, 就给改成25, 那么在Entity Framew
阅读全文
EF Core 中多次从数据库查询实体数据,DbContext跟踪实体的情况
摘要:使用EF Core时,如果多次从数据库中查询一个表的同一行数据,DbContext中跟踪(track)的实体到底有几个呢?我们下面就分情况讨论下。 数据库 首先我们的数据库中有一个Person表,其建表脚本如下: 其中ID是自增的主键,Name是一个Person的名字,Age是一个Person的年龄
阅读全文
EF Core中如何正确地设置两张表之间的关联关系
摘要:数据库 假设现在我们在SQL Server数据库中有下面两张表: Person表,代表的是一个人: 其主键是ID,而且主键是自增列。Person表还有个PersonCode列是唯一键,然后Name和Age列用来描述一个人的名字和年龄。 Book表,代表的是一本书: 其主键是ID,而且主键也是自增列。
阅读全文
EF Core中外键关系的DeleteBehavior介绍(转自MSDN)
摘要:Delete behaviors Delete behaviors are defined in the DeleteBehavior enumerator type and can be passed to the OnDelete fluent API to control whether th
阅读全文
EF Core 2.1 支持数据库一对一关系
摘要:在使用EF Core和设计数据库的时候,通常一对多、多对多关系使用得比较多,但是一对一关系使用得就比较少了。最近我发现实际上EF Core很好地支持了数据库的一对一关系。 数据库 我们先来看看SQL Server数据库中的表: Person表代表的是一个人,表中有些字段来简单描述一个人,其建表语句如
阅读全文
EF Core 2.0 已经支持自动生成父子关系表的实体
摘要:现在我们在SQL Server数据库中有Person表如下: 语句中有一个外键FK_Person_Person,关系是[Person].[ParentCode]指向[Person].[Code],这是一个典型的父子关系表,[Person]表的一行数据属于另一行数据,关系可以无限递归。 现在我们使用E
阅读全文
EF Core 2.0中如何手动映射数据库的视图为实体
摘要:由于Scaffold-DbContext指令目前还不支持自动映射数据库中的视图为实体,所以当我们想使用EF Core来读取数据库视图数据的时候,我们需要手动去做映射,本文介绍如何在EF Core中手动映射数据库的视图为实体。 假设我们在SQL Server中有如下数据库视图[dbo].[V_Pers
阅读全文
EF Core 2.0中Transaction事务会对DbContext底层创建和关闭数据库连接的行为有所影响
摘要:数据库 我们先在SQL Server数据库中建立一个Book表: 然后插入如下数据: 查询Book表的数据,如下图所示: 现在我们使用EF Core将Book表映射到.NET Core控制台项目中的Book实体上,Book实体如下所示: 不使用事务 然后我们在.NET Core控制台项目Progra
阅读全文
EF Core中Key属性相同的实体只能被跟踪(track)一次
摘要:在EF Core的DbContext中,我们可以通过DbContext或DbSet的Attach方法,来让DbContext上下文来跟踪(track)一个实体对象,假设现在我们有User实体对象,其UserCode为Key属性: 现在我们使用DbSet的Attach方法将两个UserCode都为"U
阅读全文
C#中Lambda表达式类型Expression不接受lambda函数
摘要:在EF Core中我们经常会用System.Linq.Expressions系统命名空间的Expression<TDelegate>类型来作为EF Core的查询条件,比如: using EFLambdaExpression.Entities; using System; using System.
阅读全文
EF Core 2.1 中的 Eager loading、Explicit loading和LazyLoading (转自MSDN)
摘要:Entity Framework Core allows you to use the navigation properties in your model to load related entities. There are three common O/RM patterns used to
阅读全文
EF Core中怎么实现自动更新实体的属性值到数据库
摘要:我们在开发系统的时候,经常会遇到这种需求数据库表中的行被更新时需要自动更新某些列。 数据库 比如下面的Person表有一列UpdateTime,这列数据要求在行被更新后自动更新为系统的当前时间。 Person表: 我们还有一个Book表,它没有UpdateTime列,那么这个表的数据在行更新时不要求
阅读全文
EF Core中如何通过实体集合属性删除从表的数据
摘要:假设在数据库中有两个表:Person表和Book表,Person和Book是一对多关系 Person表数据: Book表数据: 可以看到数据库Book表中所有的数据都属于Person表中"F"这个人 Person表,下面的Person类是该表在EF Core中的实体类型: public partia
阅读全文
Many-to-many relationships in EF Core 2.0 – Part 4: A more general abstraction
摘要:In the last few posts we saw how to hide use of the join entity from two entities with a many-to-many relationship. This post doesn’t add any addition
阅读全文