📅  最后修改于: 2023-12-03 14:40:59.274000             🧑  作者: Mango
Entity Framework (EF) 是一种对象关系映射器 (ORM),可用于将数据库中的实体映射到代码中的类。EF 代码优先方法是一种使用 Entity Framework 的方法,它允许您定义类并使用这些类创建数据库,而不是先创建数据库并使用数据库生成代码。
要使用 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]
特性表示它是必需的。
每个 EF 代码优先应用程序都必须有一个 DbContext
类,它代表了与数据库的会话。DbContext
类负责配置和管理实体对象。以下是一个简单的例子:
using System.Data.Entity;
public class MyDbContext : DbContext {
public DbSet<Employee> Employees { get; set; }
}
在上面的示例中,MyDbContext
类继承自 DbContext
,并公开一个 DbSet
属性,该属性表示数据库中的 Employees
表。你可以在此类中配置其他方面,例如数据库配置和连接字符串。
使用 EF 代码优先方法时,您可以使用 Code First Migrations 迁移数据库。
要开始使用 Code First Migrations,请运行 PM 命令 Enable-Migrations
。它将为您的应用程序启用 Code First Migrations。然后,您可以使用 PM 命令 Add-Migration
和 Update-Database
来创建和更新数据库模式。例如:
Enable-Migrations
Add-Migration InitialCreate
Update-Database
以上命令将启用迁移、创建初始迁移和将数据库更新为最新迁移。
EF 代码优先方法允许您定义实体类并将其映射到数据库,而不是先将数据库定义为实体类。使用 EF 代码优先方法时,您需要创建模型类和 DbContext 类,并使用 Code First Migrations 迁移数据库。