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

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().ToTable("T_Students") 自定义)。
在 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)、日志调试等,但起步阶段这四步足够跑通整个流程。
以上就是EF Core在控制台程序中怎么用 EF Core控制台应用入门的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1443240.html
微信扫一扫
支付宝扫一扫