![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Entity Framework Core
David Hongyu
专注于Java/C#/C++的技术分享
展开
-
谈谈 EF CORE中的跟踪查询与非跟踪查询
前言今天没有废话了,直接看代码非跟踪查询跟踪行为决定了 Entity Framework Core 是否将有关实体实例的信息保留在其更改跟踪器中。如果已跟踪某个实体,则该实体中检测到的任何更改都会在SaveChanges()期间永久保存到数据库。EF Core 还将修复跟踪查询结果中的实体与更改跟踪器中的实体之间的导航属性看代码var blogs = context.Blogs .AsNoTracking() .ToList();在只读方案中使用结果时,非跟...原创 2020-05-21 20:53:33 · 2940 阅读 · 2 评论 -
谈谈EFCore.Sharding(EFCore开源分表框架)的使用
前言早上起来,上洗手间的间隙,看到了这篇文章,刚好以前分享过一篇关于EF core的读写分离的文章链接地址:https://blog.csdn.net/weixin_41372626/article/details/105343648。今日来分享一下如何利用第三方框架轻松实现读写分离分库分表。文章整理并转载自:微信公众号dotNET博士简介本框架旨在为EF Core提供Shard...转载 2020-04-21 11:27:47 · 2720 阅读 · 0 评论 -
谈谈如何在EF CORE中实现读写分离:构建高性能的EF CORE
前言:其实在部分公司不是很推崇使用ORM框架,说是ORM框架存在性能问题;这句话可以说是让ORM蒙受不白之冤;笔者认为:没有低性能的框架,只有不会使用框架的开发者!更多时候,是因为数据库的性能问题;ORM在开发中可以说是被殃及的池鱼!那么本篇文章就介绍如何通过EFCore如何来配合数据库提高性能;那么如何来做的,得先从数据库下手,最常规,最推崇的就是数据库读写分离;那么如何使用EFCore配合...转载 2020-04-06 15:19:28 · 3190 阅读 · 0 评论 -
谈谈在EF CORE 中创建种子数据
种子数据:迁移数据库时的初始数据。播种:EF Core 2.1+ 支持的创建初始数据的方法。public class AppDbContext : DbContext{ public AppDbContext(DbContextOptions options) : base(options) { } public DbSet<Student>...转载 2020-04-04 17:15:36 · 1662 阅读 · 0 评论 -
谈谈如何在EF Core中创建一对一 ,一对多,多对多的数据关系
术语定义有许多术语用于描述关系 相关实体:这是包含外键属性的实体。有时称为关系的 "子级"。 主体实体:这是包含主/备用键属性的实体。有时称为关系的 "父项"。 主体密钥:唯一标识主体实体的属性。这可能是主键或备用密钥。 外键:用于存储相关实体的主体键值的依赖实体中的属性。 导航属性:在主体和/或从属实体上定义的属性,该属性引用相关...原创 2020-03-08 22:06:18 · 5428 阅读 · 3 评论 -
谈谈EntityFramework Core中的异步编程及约定
约定由于 Entity Framwork 有一定的约束条件,你只需要按规则编写很少的代码就能够创建一个完整的数据库。 DbSet类型的属性用作表名。如果实体未被DbSet属性引用,实体类名称用作表名称。 使用实体属性名作为列名。 以 ID 或 classnameID 命名的实体属性被视为主键属性。 如果属性名为 <导航属性名><主键...原创 2020-03-08 17:11:19 · 959 阅读 · 0 评论 -
Entity FrameWork Core 中的跟踪与非跟踪查询
跟踪与非跟踪查询跟踪行为决定了 Entity Framework Core 是否将有关实体实例的信息保留在其更改跟踪器中。如果已跟踪某个实体,则该实体中检测到的任何更改都会在SaveChanges()期间永久保存到数据库。注意:没有主键的实体是不会被跟踪的。但 EF Core 会根据下述规则跟踪带有键的实体类型的所有其他实例。跟踪查询返回实体类型的查询是默认会被跟踪的。这表示可以更改这些实体实例,然后通过SaveChanges()持久化这些更改。在以下示例中,将检测到对博客评分...原创 2020-08-17 21:55:53 · 816 阅读 · 0 评论 -
Entity FrameWork Core使用 Include查询关联数据以及机理。
Entity Framework Core 允许你在模型中使用导航属性来加载相关实体。有三种常见的 O/RM 模式可用于加载关联数据。预先加载表示从数据库中加载关联数据,作为初始查询的一部分。 显式加载表示稍后从数据库中显式加载关联数据。 延迟加载表示在访问导航属性时,从数据库中以透明方式加载关联数据这里仅结束第一种,使用Include的方式。什么是关联的数据?如下图,两个导航属性Assets以及Department,分别对应两个外键AssetsId以及DepartmentId,关联到另.原创 2020-08-11 17:24:22 · 7618 阅读 · 1 评论 -
Entity Framework Core反向工程(DB First)的使用
概述Entity Framework Core 有两种常用的工作机制,一种是基于实体类去生成数据库表( Code First),一种是由数据库表生成实体类(DB First)。可以使用Scaffold-DbContextEF Core 包管理器控制台(PMC)工具的命令或dotnet ef dbcontext scaffold.net 命令行接口(CLI)工具的命令来执行该命令。何时DB First?一般大型的项目,表结构复杂,字段很多时,由数据库设计软件设计好表以后再去反向工程的做法更...原创 2020-08-10 15:58:50 · 3185 阅读 · 0 评论