在使用EF Core和设计数据库的时候,通常一对多.多对多关系使用得比较多,但是一对一关系使用得就比较少了.最近我发现实际上EF Core很好地支持了数据库的一对一关系. 数据库 我们先来看看SQL Server数据库中的表: Person表代表的是一个人,表中有些字段来简单描述一个人,其建表语句如下: CREATE TABLE [dbo].[Person]( ,) NOT NULL, ) NULL, ) NULL, [Age] [int] NULL, ) NULL, [CreateTime]…
EF Core使用SQL调用返回其他类型的查询   假设你想要 SQL 本身编写,而不使用 LINQ. 需要运行 SQL 查询中返回实体对象之外的内容. 在 EF Core 中,执行该操作的另一种方法是编写 ADO.NET 代码,并从 EF 获取数据库连接. public async Task<ActionResult> About() { List<EnrollmentDateGroup> groups = new List<EnrollmentDateGroup>(…
为啥写这篇帖子呢?其实是因为翻微软的文档中心偶然翻到的,于是就出于好奇就试试了,看看用着怎么样. 以前没注意图片,所以我今天发现的时候,显示EF Core3.1支持standard2.0,于是就想试试UWP用着会不会出问题,之前有的网友说2.1的standard目前UWP用不了. ef core具体用法 文档中心都有文档教程,首先是先创建一个 Standard2.0的项目,然后创建一个数据上下文,和一些模型. dotnet控制台项目使用ef core的使用方法. 上面的帖子是官方的使用方法,下图…
EF Core 高阶操作 本文之前,大家已经阅读了前面的系列文档,对其有了大概的了解 我们来看下EF Core中的一些常见高阶操作,来丰富我们业务实现,从而拥有更多的实现选择 1.EF 内存查找 what?我们的ef不是直接连接数据库吗?我们查询的主体肯定是数据库啊,哪里来的内存呢? 1.所有的数据操作都有过程,并非操作直接会响应到数据库 2.并非所有的操作都每次提交,会存在缓存收集阶段,批量提交机制 描述下业务场景,我们存在一个业务,需要存储一张表,然后还需要对存储表数据做一些关联业务处理?我…
假设你想要 SQL 本身编写,而不使用 LINQ. 需要运行 SQL 查询中返回实体对象之外的内容. 在 EF Core 中,执行该操作的另一种方法是编写 ADO.NET 代码,并从 EF 获取数据库连接. public async Task<ActionResult> About() { List<EnrollmentDateGroup> groups = new List<EnrollmentDateGroup>(); var conn = _context.Dat…
EF Core 现在不支持多对多映射,只能做2个一对多映射. 比如Product和Category 我现在定义Product和Category是多对多关系. 那么实体定义如下: public class Product { [Key] public int ProdId{ get; set; } public String ProdCode{ get; set; } public String ProdName{ get; set; } public IList<CategoryProduct>…
ASP.NET Core 开发-Entity Framework Core 1.0 Database First,ASP.NET Core 1.0 EF Core操作数据库. Entity Framework Core 1.0 也已经发布了,可以适用于 .NET Core 1.0 及ASP.NET Core 1.0 . EF Core RC2 时,使用的Code First: http://www.cnblogs.com/linezero/p/EntityFrameworkCore.html E…
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:由于EF Core暂时不支持Lazy Loading,所以利用Include来加载额外数据就显得很有必要.今天分享一个使用Include的小技巧. 在实体框架Entity Framework 6及之前的版本中,数据模型的导航属性只要加上virtual关键字,在你访问这个属性的时候(不管是对象还是对象集合),EF的内部机制就会自动加载相关数据.这一特性就称之为Lazy Loading,其为开发带…
背景 话说有这么一家子,老公养了一条狗,老婆养了一只猫. 数据库的设计 人表 宠物表 通过表可以知道,宠物通过Owner指向主人的Id. 问题来了,我要和故事开头一样,老公-狗,老婆-猫,对应起来,怎么查询呢? 有同学说这还不简单?两个遍历一下不就行了. 首先 取出 List<宠物>集合,再根据宠物的主人Id去查找对应的主人信息就好了. 如果这样设计,那么将会执行3次查询: l  查出所有的宠物. l  查出阿猫的主人. l  查出阿狗的主人. 数据量不大还好,数据量要是大一点这是非常影响速度…
重点讲 Entity Framework Core ! (一)Entity Framework 它是适用于.NET 的对象关系映射程序 (ORM),现在的EF6已经是久经沙场,并经历重重磨难,获得一致认可的数据访问技术(原来加 Title 也挺有意思的,哈哈哈). 作为 ORM,EF6 降低了关系方面和面向对象的方面之间的阻抗不匹配,使开发人员能够使用表示应用程序域的强类型 .NET 对象来编写应用程序,该应用程序可与存储在关系数据库中的数据交互,同时使开发人员无需再编写大部分的数据访问"管道&…