.NET如何使用Entity Framework Core实现Code First开发

煙雲
发布: 2025-11-18 17:41:02
原创
782人浏览过
先编写C#类定义数据模型,EF Core自动生成数据库结构。1. 创建User类作为实体模型;2. 定义AppDbContext继承DbContext管理实体集合;3. 在OnConfiguring中配置SQL Server连接字符串;4. 使用Add-Migration生成迁移文件;5. 执行Update-Database创建或更新数据库表;6. 通过数据注解或Fluent API配置字段约束与关系。保持模型与数据库同步是关键。

.net如何使用entity framework core实现code first开发

.NET 中使用 Entity Framework Core 实现 Code First 开发,意味着你先编写 C# 类来定义数据模型,然后由 EF Core 根据这些类自动生成数据库结构。这种方式更适合面向对象开发,便于版本控制和团队协作。以下是实现 Code First 的关键步骤和要点。

定义实体模型类

实体类代表数据库中的表,类的属性对应表的字段。

例如,创建一个 User 类:

public class User
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string Email { get; set; }
}

EF Core 会将此类映射为数据库中的 Users 表,Id 默认作为主键。

创建 DbContext 派生类

DbContext 是 EF Core 的核心类,用于管理数据库连接和实体集合。

新建一个类继承 DbContext

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

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

OnConfiguring 方法中配置数据库连接字符串,这里使用 SQL Server LocalDB 示例。

使用迁移(Migration)生成数据库

Code First 的核心是通过迁移同步代码与数据库结构。

知我AI·PC客户端
知我AI·PC客户端

离线运行 AI 大模型,构建你的私有个人知识库,对话式提取文件知识,保证个人文件数据安全

知我AI·PC客户端 35
查看详情 知我AI·PC客户端

执行以下命令创建初始迁移:

  • Add-Migration InitialCreate(在 Visual Studio Package Manager Console 中运行)
  • 该命令会生成一个 Migration 文件,包含创建 Users 表的代码
  • 接着运行 Update-Database,EF Core 将在数据库中创建表

之后每次修改模型类,重复这两个命令即可更新数据库结构。

配置模型关系与约束

可以通过数据注解或 Fluent API 配置更复杂的模型行为。

例如使用数据注解设置长度限制:

public class User
{
    public int Id { get; set; }

    [MaxLength(100)]
    public string Name { get; set; }

    [Required]
    public string Email { get; set; }
}

或者在 OnModelCreating 中使用 Fluent API 进行更灵活配置:

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.Entity()
        .Property(u => u.Email)
        .IsRequired()
        .HasMaxLength(255);
}

基本上就这些。定义类、配置上下文、使用迁移更新数据库,再辅以必要的模型配置,就能高效实现 Code First 开发。关键是保持模型与数据库同步,合理使用迁移记录变更。不复杂但容易忽略细节,比如主键识别和外键关系处理。

以上就是.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号