MyFirstEfCoreApp应用程序设置

  创建并设置了.NET Core控制台应用程序之后,现在可以开始编写 EF核心代码。在创建任何数据库之前,您需要编写两个基本部分: - EF Core将类映射到数据库中的表 - 应用程序的DbContext,它是用于配置和访问数据库的主类

1.8.1 映射到数据库中的类——Book和Author

  EF Core将类映射为数据库中的表. 因此,你需要创建一个实体类来定义数据库表,或者映射到已有的数据库表.有很多的规则和配置(本书后面会介绍), 图1.4给出了映射到数据库表的实体类的一般格式

使用场景

  下面是展示了你需要的另一个类:Author,它的结构与Book类相同,主键遵循EFCore命名约定(参见第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; }
}

1.8.2 应用程序中的DbContext(数据库上下文)

  另一个重要的部分是应用程序的DBContext. 这是继承自EF Core的DbContext的类. 它包含EF Core配置数据库所需的信息,也是在代码中访问数据库时使用的类(参见 1.9.2节). 图1.5展示了MyFirstEfCoreApp控制台应用使用的DbContext (名为AppDbContext)

使用场景

  在我们的小型示例中,建模的所有细节都是由EF Core完成的,它通过使用约定来解决问题. 你有很多其他方法告诉EF Core数据库模型的配置,这些命令会让这个小示例变的复杂,所以暂时不做介绍. 需要第6章和第7章中介绍了所有的配置选择来满足你作为一个开发者的需求。

  另外,您还使用标准方法在控制台中定义数据库访问应用程序:重载应用程序的DbContext的OnConfiguring方法,提供EF Core需要的数据库类型和连接字符串等其他信息. 这种方法的缺点是它的连接字符串是固定的,不利于单元测试.

  在ASP.NET Core应用程序中这是一个大问题。 因为在不同的环境:开发,测试,生产环境我们会使用不同的数据库. 在第2章中我们将构建一个ASP.NET Core Web应用程序,将会使用一个不同的方式来更改数据库连接字符串(参见2.2.2节)

版权声明: 本文为智客工坊「楠木大叔」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

results matching ""

    No results matching ""