Entity Framework Core in Action
Entityframework Core in action 是 Jon P smith 所著的关于 Entityframework Core 书籍. 原版地址. 是除了官方文档外另一个学习 EF Core 的不错途径, 书中由浅入深的讲解的 EF Core 的相关知识. 因为没有中文版, 所以本人对其进行翻译. 预计每两天一篇更新 PS: 翻译难免限于本人水平有不准确的地方, 建议英文水平不错的同学直接查看原版, 有不足的地方欢迎指正
第一部分目录导航
创建了. Net Core 控制应用程序过后, 现在可以编写 EF Core 代码了. 在编写数据库访问代码之前, 你需要做两个重要的部分
- EF Core 将类映射到数据库中的表
- 应用程序的 DbContext, 它是用于配置和访问数据库的主类
映射到数据库中的类 -- Book 和 Author
EF Core 将类映射为数据库中的表. 因此你需要创建一个实体类, 或者你已有一个数据库则需要匹配数据库表. 有很多的规则和配置 (本书后面会介绍), 图 1.4 给出了映射到数据库表的实体类的一般格式
下面是 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(数据库上下文)
另一个重要的部分是应用程序的 DBContext. 这是继承自 EF Core 的 DbContext 的类. 它包含 EF Core 配置数据库所需的信息, 也是在代码中访问数据库时使用的类 (参见 1.9.2 节). 图 1.5 展示了 MyFirstEfCoreApp 控制台应用使用的 DbContext (名为 AppDbContext)
在我们的小型示例中, 建模的所有细节都是由 EF Core 完成的, 它通过使用约定来解决问题. 你有很多其他方法告诉 EF Core 数据库模型的配置, 这些命令会让这个小示例变的复杂, 所以暂时不做介绍. 在第 6 章和第 7 章中介绍了所有的配置选择
本示例中使用了一种方法定义控制台应用程序的 DbContext: 覆盖应用程序的 DbContext 的 OnConfiguring 方法, 提供 EF Core 需要的数据库类型和连接字符串等其他信息. 这种方法的缺点是它的连接字符串是固定的, 不利于单元测试
在 ASP.NET Core 应用程序中这是一个问题, 因为在不同的环境: 开发, 测试, 生产我们会使用不同的数据库. 在第 2 章中我们将构建一个 ASP.NET Core Web 应用程序, 将会使用一个不同的方式来更改数据库连接字符串 (参见 2.2.2 节)
来源: https://www.cnblogs.com/LiangSW/p/10400947.html