C#中如何使用Entity Framework Core进行增删改查操作?

来源:这里教程网 时间:2026-02-21 17:26:43 作者:

在C#中使用Entity Framework Core(EF Core)进行增删改查操作,主要依赖于DbContext和实体类的配合。下面以一个简单的用户管理系统为例,说明如何实现基本的数据操作。

1. 安装EF Core包

确保项目已安装必要的NuGet包,例如: Microsoft.EntityFrameworkCore Microsoft.EntityFrameworkCore.SqlServer Microsoft.EntityFrameworkCore.Tools(用于迁移)

2. 定义实体类

创建一个表示数据库表的实体类:

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

3. 创建DbContext

继承DbContext并配置DbSet:

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

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseSqlServer("your_connection_string");
    }
}

4. 添加数据(Create)

使用Add方法插入新记录:

User newUser = new User { Name = "张三", Email = "zhangsan@example.com" };
using (var context = new AppDbContext())
{
    context.Users.Add(newUser);
    context.SaveChanges();
}

5. 查询数据(Read)

支持LINQ查询语法: 获取所有用户:var users = context.Users.ToList(); 按条件查询:var user = context.Users.FirstOrDefault(u => u.Id == 1); 筛选数据:var results = context.Users.Where(u => u.Name.Contains("张")).ToList();

6. 更新数据(Update)

先查询再修改,调用SaveChanges提交:

using (var context = new AppDbContext())
{
    var user = context.Users.FirstOrDefault(u => u.Id == 1);
    if (user != null)
    {
        user.Email = "newemail@example.com";
        context.SaveChanges();
    }
}

7. 删除数据(Delete)

使用Remove方法删除实体:

using (var context = new AppDbContext())
{
    var user = context.Users.Find(1);
    if (user != null)
    {
        context.Users.Remove(user);
        context.SaveChanges();
    }
}

8. 使用迁移创建数据库

通过Package Manager Console执行命令: Add-Migration InitialCreate Update-Database 这会根据实体类自动生成数据库表结构。 基本上就这些。只要配置好上下文和实体,EF Core就能帮你处理大部分数据库交互,写法自然又高效。

相关推荐