EF Core在控制台程序中怎么用 EF Core控制台应用入门

来源:这里教程网 时间:2026-02-21 17:33:47 作者:

EF Core在控制台程序中用起来不复杂,关键几步走对就行:建模型、配上下文、连数据库、跑迁移、写代码操作数据。下面按实际开发顺序说清楚。

创建项目并安装必要 NuGet 包

用 .NET CLI 或 Visual Studio 新建一个 .NET 6+ 控制台项目(比如叫 ConsoleEF)。然后安装两个核心包:

Microsoft.EntityFrameworkCore.SqlServer(若用 SQL Server;换 SQLite 就装 Microsoft.EntityFrameworkCore.Sqlite Microsoft.EntityFrameworkCore.Tools(支持迁移命令,必须装)

在程序包管理器控制台执行:

Install-Package Microsoft.EntityFrameworkCore.SqlServer
Install-Package Microsoft.EntityFrameworkCore.Tools

定义实体类和 DbContext

比如建一个 Student 类:

public class Student
{
  public int Id { get; set; }
  public string Name { get; set; } = string.Empty;
  public int Age { get; set; }
}

再建一个继承 DbContext 的类(如 AppDbContext),并在 OnConfiguring 中配置连接字符串:

public class AppDbContext : DbContext
{
  public DbSet Students { get; set; }

  protected override void OnConfiguring(DbContextOptionsBuilder options)
  {
    options.UseSqlServer("Server=(localdb)\mssqllocaldb;Database=SchoolDb;Trusted_Connection=true;");
  }
}

注意:连接字符串建议后期移到 appsettings.json,但入门阶段直接写这里最直观。

用迁移创建数据库和表

确保已安装 Microsoft.EntityFrameworkCore.Tools,然后在程序包管理器控制台依次运行:

Add-Migration Init(生成迁移文件,会在 Migrations 文件夹下创建) Update-Database(真正创建数据库和表)

执行完后,SQL Server 中就会出现 SchoolDb 数据库和 Students 表(EF 默认按复数命名,也可用

modelBuilder.Entity<student>().ToTable("T_Students")</student>
自定义)。

在 Main 方法里增删改查

Program.cs 中写点实际操作:

using var context = new AppDbContext();
// 添加
context.Students.Add(new Student { Name = "张三", Age = 20 });
context.SaveChanges();

// 查询
var students = context.Students.ToList();
foreach (var s in students)
  Console.WriteLine($"{s.Id}: {s.Name}, {s.Age}岁");

记得引用 Microsoft.EntityFrameworkCore 命名空间。运行后就能看到数据写入并读出。

基本上就这些。后续可加配置分离、实体配置类(IEntityTypeConfiguration)、日志调试等,但起步阶段这四步足够跑通整个流程。

相关推荐