.NET中的Entity Framework Core是什么?如何使用Code First进行数据库迁移?

星降
发布: 2025-11-12 08:00:03
原创
358人浏览过
<p>Code First 是先定义 C# 类再由 EF Core 生成数据库结构的开发模式,数据库迁移则通过 Add-Migration 和 Update-Database 命令实现模型变更的版本化管理,支持在不丢失数据的前提下更新数据库,适用于敏捷开发。</p>

.net中的entity framework core是什么?如何使用code first进行数据库迁移?

Entity Framework Core(简称 EF Core)是 .NET 平台上的一个轻量级、可扩展且跨平台的对象关系映射(ORM)框架。它允许开发者使用 C# 类来操作数据库,而无需直接编写 SQL 语句。通过 EF Core,数据表被映射为类,行被映射为对象,列被映射为属性,从而实现面向对象的方式访问和管理数据。

什么是 Code First 和数据库迁移?

EF Core 支持多种开发模式,其中 Code First 是指先定义 C# 模型类,然后由框架根据这些类生成数据库结构。这种方式适合从零开始构建应用,并希望用代码控制数据库设计的场景。

数据库迁移(Migration) 是指在不丢失数据的前提下,安全地更新数据库结构以匹配代码模型的变化。例如添加新字段、修改表名或增加索引等操作。

如何使用 Code First 进行数据库迁移?

以下是使用 Code First 实现数据库迁移的基本步骤:

1. 安装必要的 NuGet 包

在项目中安装以下包:

  • Microsoft.EntityFrameworkCore —— EF Core 核心库
  • Microsoft.EntityFrameworkCore.Tools —— 支持迁移命令(如 Add-Migration)
  • 对应数据库的提供程序,例如:
    - SQL Server: Microsoft.EntityFrameworkCore.SqlServer
    - SQLite: Microsoft.EntityFrameworkCore.Sqlite
    - PostgreSQL: Npgsql.EntityFrameworkCore.PostgreSQL

2. 创建数据模型类

定义代表数据库表的 C# 类。例如:

public class Blog
{
    public int Id { get; set; }
    public string Title { get; set; }
    public string Author { get; set; }
}
登录后复制

3. 创建 DbContext 派生类

创建一个继承自 DbContext 的类,用于管理数据模型与数据库之间的会话。

public class AppDbContext : DbContext
{
    public DbSet<Blog> Blogs { get; set; }
<pre class="brush:php;toolbar:false;"><pre class="brush:php;toolbar:false;">protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
    optionsBuilder.UseSqlServer("Server=(localdb)\mssqllocaldb;Database=BlogDb;Trusted_Connection=true;");
}
登录后复制

}

4. 添加初始迁移

阿里云-虚拟数字人
阿里云-虚拟数字人

阿里云-虚拟数字人是什么? ...

阿里云-虚拟数字人 2
查看详情 阿里云-虚拟数字人

在 Visual Studio 的“包管理器控制台”中运行命令:

Add-Migration InitialCreate
登录后复制

该命令会根据当前模型生成一组迁移文件(包含创建表的代码),通常位于 Migrations 文件夹中。

5. 更新数据库

运行以下命令将迁移应用到数据库:

Update-Database
登录后复制

此时,数据库会被创建(如果不存在),并包含与模型对应的表结构。

6. 后续模型变更与迁移

当修改模型(如给 Blog 类添加 Url 属性)后,再次运行:

Add-Migration AddBlogUrl
登录后复制

然后执行:

Update-Database
登录后复制

EF Core 会生成差异脚本并更新数据库结构,尽可能保留已有数据。

常用迁移命令(.NET CLI)

除了在 Visual Studio 中使用包管理器命令,还可以使用 .NET 命令行工具

  • dotnet ef migrations add [名称] —— 添加新迁移
  • dotnet ef database update —— 应用所有待定迁移
  • dotnet ef migrations list —— 查看已存在的迁移
  • dotnet ef migrations remove —— 删除最近一次迁移(未提交时可用)

基本上就这些。EF Core 的 Code First 模式让数据库演变得更贴近代码迭代,配合迁移机制可以高效管理数据库版本变化,尤其适用于敏捷开发流程。只要模型一改,通过简单的命令就能同步到数据库,省去手动写 DDL 的麻烦。

以上就是.NET中的Entity Framework Core是什么?如何使用Code First进行数据库迁移?的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号