[翻译 EF Core in Action 1.8] MyFirstEfCoreApp应用程序设置
Entity Framework Core in Action
Entityframework Core in action是 Jon P smith
所著的关于Entityframework Core 书籍。原版地址. 是除了官方文档外另一个学习EF Core的不错途径, 书中由浅入深的讲解的EF Core的相关知识。因为没有中文版,所以本人对其进行翻译。 预计每两天一篇更新 PS: 翻译难免限于本人水平有不准确的地方,建议英文水平不错的同学直接查看原版,有不足的地方欢迎指正
第一部分目录导航
MyFirstEfCoreApp应用程序设置
创建了.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节)
- [翻译 EF Core in Action 1.6]你的第一个EF Core应用程序
- [翻译 EF Core in Action 2.1] 设置一个图书销售网站的场景
- [翻译 EF Core in Action] 1.5 关于NoSql
- [翻译 EF Core in Action 1.9] 掀开EF Core的引擎盖看看EF Core内部是如何工作的
- [翻译] EF Core in Action 关于这本书
- [翻译 EF Core in Action 1.11] 何时不应该使用EF Core
- [翻译 EF Core in Action 2.0] 查询数据库
- [翻译 EF Core in Action 1.10] 应该在项目中使用EF Core吗?
- My first App EncryptWheel is in WAITING FOR REVIEW status
- [翻译] Entity Framework Core in Action 关于这本书
- To create my first app in iOS with Xcode(在Xcode创建我的第一个iOS app )
- I have released my first ios app appclient in appstore,any questions, pls follow your information
- My first qt app
- 16.翻译系列:EF 6 Code -First中使用存储过程【EF 6 Code-First系列】
- How can I display a JPG or GIF in my MFC app?
- APP应用程序图标 及 程序启动画面设置
- iOS PDF之旅(二)将PDF文件Open In MyApp
- Fedora Core 5.0 中添加字体及应用程序字体设置方法及解决JVM乱码问题
- Associations in EF Code First: Part 1 – Introduction and Basic Concepts
- My First App