📜  Entity Framework-代码优先方法(1)

📅  最后修改于: 2023-12-03 14:40:59.274000             🧑  作者: Mango

Entity Framework-代码优先方法

Entity Framework (EF) 是一种对象关系映射器 (ORM),可用于将数据库中的实体映射到代码中的类。EF 代码优先方法是一种使用 Entity Framework 的方法,它允许您定义类并使用这些类创建数据库,而不是先创建数据库并使用数据库生成代码。

使用 EF 代码优先方法
创建模型类

要使用 EF 代码优先方法,首先需要创建用于表示数据库表的模型类。在模型类上使用类特性 (Attribute) 来表示数据库实体与属性之间的映射关系。例如:

using System.ComponentModel.DataAnnotations;

public class Employee {
    [Key]
    public int Id { get; set; }
    
    [Required]
    public string Name { get; set; }
    
    public string Address { get; set; }
    
    public DateTime? HireDate { get; set; }
}

在上面的示例中,Employee 类表示数据库中的 Employees 表。Id 属性使用 [Key] 特性表示它是主键,Name 属性使用 [Required] 特性表示它是必需的。

创建 DbContext 类

每个 EF 代码优先应用程序都必须有一个 DbContext 类,它代表了与数据库的会话。DbContext 类负责配置和管理实体对象。以下是一个简单的例子:

using System.Data.Entity;

public class MyDbContext : DbContext {
    public DbSet<Employee> Employees { get; set; }
}

在上面的示例中,MyDbContext 类继承自 DbContext,并公开一个 DbSet 属性,该属性表示数据库中的 Employees 表。你可以在此类中配置其他方面,例如数据库配置和连接字符串。

使用 Migrations 迁移数据库

使用 EF 代码优先方法时,您可以使用 Code First Migrations 迁移数据库。

要开始使用 Code First Migrations,请运行 PM 命令 Enable-Migrations。它将为您的应用程序启用 Code First Migrations。然后,您可以使用 PM 命令 Add-MigrationUpdate-Database 来创建和更新数据库模式。例如:

Enable-Migrations
Add-Migration InitialCreate
Update-Database

以上命令将启用迁移、创建初始迁移和将数据库更新为最新迁移。

总结

EF 代码优先方法允许您定义实体类并将其映射到数据库,而不是先将数据库定义为实体类。使用 EF 代码优先方法时,您需要创建模型类和 DbContext 类,并使用 Code First Migrations 迁移数据库。