📜  从数据库 ef 核心创建模型 - C# (1)

📅  最后修改于: 2023-12-03 15:36:18.370000             🧑  作者: Mango

从数据库 EF Core 创建模型 - C#

简介

在开发应用程序时,通常会用到关系型数据库来存储和管理数据。EF(Entity Framework)Core 是一个 ORM(关系对象映射器),允许开发者使用 C# 语言与数据库进行交互,而无需使用 SQL 语句。在本文中,我们将学习如何使用 EF Core 创建模型。

步骤
  1. 安装 EF Core NuGet 包 在 Visual Studio 中打开你的项目,右键单击项目名,在菜单中点击“管理 NuGet 包”。在“浏览”选项卡中搜索“EntityFrameworkCore”,找到“Microsoft.EntityFrameworkCo......”并点击“安装”。

  2. 创建数据上下文类 数据上下文是 EF Core 中重要的一部分。它充当应用程序与数据库之间的中间层,在应用程序中通过它来访问数据。创建数据上下文类的方式是创建一个类,继承自 “DbContext” 类并实现它的构造函数。

using Microsoft.EntityFrameworkCore;
 
namespace MyApplication.Data
{
    public class MyDbContext : DbContext
    {
        public MyDbContext(DbContextOptions options) : base(options)
        { }
    }
}

这是一个非常基本的数据上下文类,其中的代码没做更多的工作。

  1. 在数据上下文中指定模型 EF Core 使用模型来表示数据库的结构。一个模型包含实体、关系、键和索引的定义。在数据上下文类中指定模型的方式是重写 OnModelCreating 方法。
public class MyDbContext : DbContext
{
    public MyDbContext(DbContextOptions options) : base(options)
    { }
 
    public DbSet<Customer> Customers { get; set; }
 
    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Customer>().HasKey(c => c.Id);
        modelBuilder.Entity<Customer>().Property(c => c.Name).IsRequired();
        modelBuilder.Entity<Customer>().Property(c => c.Age).IsRequired();
    }
}

在上面的示例中,我们创建了一个名为“Customers”的实体集,然后指定它的键和属性。HasKey 方法指定主键,而 Property 方法指定实体的属性。

  1. 迁移数据库 一旦我们指定了模型,就可以使用迁移功能将其映射到数据库中。在 Visual Basic 中打开“工具”菜单,然后选择“NuGet 包管理器”,接着选择“程序包管理器控制台”。在控制台中运行以下命令:
Add-Migration InitialCreate
Update-Database

这两个命令将创建一个名为“InitialCreate”的迁移并将它应用于数据库中。在以后的开发中,当你更改模型时,将需要再次运行这两个命令。

总结

使用 EF Core 创建模型并不困难,只需要几个简单的步骤。首先安装 EF Core NuGet 包,然后创建一个数据上下文类并指定模型,最后再运行迁移命令将模型映射到数据库中。