在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
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();
}
}
