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

2次阅读

EF Core在控制台程序中入门只需四步:建模型、配上下文、跑迁移、写代码操作数据;依次完成项目创建与NuGet安装、定义实体类和DbContext、执行Add-Migration与Update-database生成数据库、在Main中用Add/SaveChanges/ToList实现增删改查。

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

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,但入门阶段直接写这里最直观。

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

BlessAI

Bless AI 提供五个独特的功能:每日问候、庆祝问候、祝福、祷告和名言的文本生成和图片生成。

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

查看详情 EF Core在控制台程序中怎么用 EF Core控制台应用入门

用迁移创建数据库和表

确保已安装 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)、日志调试等,但起步阶段这四步足够跑通整个流程。

text=ZqhQzanResources