Entityframework Core in action是 Jon P smith
所著的关于Entityframework Core 书籍。原版地址. 是除了官方文档外另外一个学习EF Core的不错途径, 书中由浅入深的讲解的EF Core的相关知识。由于没有中文版,因此本人对其进行翻译。 预计每两天一篇更新 PS: 翻译不免限于本人水平有不许确的地方,建议英文水平不错的同窗直接查看原版,有不足的地方欢迎指正html
建立了.Net Core控制应用程序事后,如今能够编写EF Core代码了. 在编写数据库访问代码以前,你须要作两个重要的部分 - EF Core将类映射到数据库中的表 - 应用程序的DbContext,它是用于配置和访问数据库的主类数据库
EF Core将类映射为数据库中的表. 所以你须要建立一个实体类,或者你已有一个数据库则须要匹配数据库表. 有不少的规则和配置(本书后面会介绍), 图1.4给出了映射到数据库表的实体类的通常格式单元测试
<img src="https://img2018.cnblogs.com/blog/832799/201902/832799-20190219133128699-2089779371.png">学习
下面是Author
实体类的定义,它的结构与Book类相同,主键遵循EF Core命名约定(参见第6.3.15节). Book类有一个名为AuthorId的属性,EF Core将它视为外键,由于它与Author实体的主键同名测试
public class Author { public int AuthorId { get; set; } public string Name { get; set; } public string WebUrl { get; set; } }
另外一个重要的部分是应用程序的DBContext. 这是继承自EF Core的DbContext的类. 它包含EF Core配置数据库所需的信息,也是在代码中访问数据库时使用的类(参见 1.9.2节). 图1.5展现了MyFirstEfCoreApp控制台应用使用的DbContext (名为AppDbContext)spa
<img src="https://img2018.cnblogs.com/blog/832799/201902/832799-20190219142533619-1479719161.png">翻译
在咱们的小型示例中,建模的全部细节都是由EF Core完成的,它经过使用约定来解决问题. 你有不少其余方法告诉EF Core数据库模型的配置,这些命令会让这个小示例变的复杂,因此暂时不作介绍. 在第6章和第7章中介绍了全部的配置选择code
本示例中使用了一种方法定义控制台应用程序的DbContext: 覆盖应用程序的DbContext的OnConfiguring方法,提供EF Core须要的数据库类型和链接字符串等其余信息. 这种方法的缺点是它的链接字符串是固定的,不利于单元测试htm
在ASP.NET Core应用程序中这是一个问题, 由于在不一样的环境: 开发,测试,生产咱们会使用不一样的数据库. 在第2章中咱们将构建一个ASP.NET Core Web应用程序,将会使用一个不一样的方式来更改数据库链接字符串(参见2.2.2节)blog