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

答案:EF Core微软的轻量级跨平台ORM框架,支持Code First模式,通过C#类定义数据模型并自动生成数据库。首先安装EF Core核心库、数据库提供程序和工具包;接着定义实体类如User,并遵循Id为主键、类名复数为表名的约定;然后创建继承DbContext的上下文类AppDbContext,配置DbSet属性和数据库连接;使用OnConfiguring方法或依赖注入设置连接字符串;通过dotnet ef migrations add InitialCreate生成迁移文件,再执行dotnet ef database update创建数据库;利用DbContext实例实现CRUD操作,包括添加、查询、更新和删除数据;可选使用数据注解或Fluent API进行模型配置,提升灵活性与安全性。

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

Entity Framework Core(简称 EF Core)是微软提供的轻量级、可扩展且跨平台的ORM框架,支持Code First开发模式。在Code First模式下,开发者通过编写C#类来定义数据模型,EF Core会根据这些类自动生成数据库结构,非常适合领域驱动设计和快速迭代开发。

1. 安装EF Core相关包

开始前,确保项目已安装EF Core的核心库和对应数据库的提供程序。以SQL Server为例,在.NET项目中通过NuGet安装以下包:

Microsoft.EntityFrameworkCore(核心库) Microsoft.EntityFrameworkCore.SqlServer(SQL Server提供程序) Microsoft.EntityFrameworkCore.Tools(用于迁移命令)

可通过NuGet包管理器或命令行安装:

dotnet add package Microsoft.EntityFrameworkCore.SqlServer
dotnet add package Microsoft.EntityFrameworkCore.Tools

2. 定义实体模型类

创建代表数据库表的C#类。每个类对应一张表,属性对应字段。

例如,定义一个User类:

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

EF Core默认约定:名为Id的属性会被识别为主键;类名复数形式作为表名(如Users)。

3. 创建DbContext派生类

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

新建一个类继承DbContext

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

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseSqlServer(“Server=localhost;Database=MyAppDb;Trusted_Connection=true;TrustServerCertificate=true”);
    }
}

也可以在Program.csStartup.cs中通过依赖注入配置连接字符串,更推荐这种方式。

4. 使用迁移(Migration)创建数据库

EF Core通过迁移将模型变更同步到数据库。

执行以下命令生成初始迁移:

dotnet ef migrations add InitialCreate

该命令会在项目中生成一个Migrations文件夹,包含描述数据库结构变更的代码文件。

接着应用迁移,创建数据库:

dotnet ef database update

此时,数据库MyAppDb会被创建,并生成Users表。

5. 操作数据(CRUD示例)

使用AppDbContext进行数据操作:

using var context = new AppDbContext();

// 添加用户
var user = new User { Name = “张三”, Email = “zhangsan@example.com” };
context.Users.Add(user);
context.SaveChanges();

// 查询用户
var users = context.Users.ToList();

// 更新
user.Name = “李四”;
context.SaveChanges();

// 删除
context.Users.Remove(user);
context.SaveChanges();

6. 模型进阶配置(可选)

可通过数据注解或Fluent API进一步配置模型。

使用数据注解(在类上加Attribute):

public class User
{
    [Key]
    public int Id { get; set; }

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

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

或在OnModelCreating中使用Fluent API:

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.Entity()
        .ToTable(“Users”)
        .Property(u => u.Name).IsRequired().HasMaxLength(100);
}

基本上就这些。从定义模型到操作数据,EF Core的Code First流程清晰高效。只要掌握迁移命令和上下文配置,就能快速构建数据层。实际项目中建议结合依赖注入和配置文件管理连接字符串,提升灵活性和安全性。

以上就是.NET如何使用Entity Framework Core实现Code First开发_EF Core Code First开发教程的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1441716.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月17日 18:22:15
下一篇 2025年12月17日 18:22:37

相关推荐

发表回复

登录后才能评论
关注微信