DbSet代表数据库中的一张表,是EF Core中用于映射实体类与数据库表的核心组件。每个DbSet属性对应一个实体类,如DbSet<Product>映射Products表。通过DbContext中的DbSet,可执行查询、添加、更新和删除操作。使用时需定义实体类,如Product,并在继承DbContext的上下文类中声明public DbSet<Product> Products属性。DbSet通过EF Core的变更跟踪和LINQ翻译机制将C#代码转为SQL,在数据库执行。支持Where、OrderBy等LINQ查询,但不能手动实例化DbSet,必须由EF Core运行时提供。正确声明DbSet后,EF Core自动映射并管理数据操作,是实现数据持久化的基础。

DbSet 是 Entity Framework Core 中用于表示数据库中某个实体集合的属性,它相当于一张数据库表的映射。通过 DbContext 类中的 DbSet 属性,你可以对特定实体类型执行查询、插入、更新和删除操作。
每一个 DbSet 属性对应一个实体类,通常代表数据库中的一张表。例如,如果你有一个名为 Product 的实体类,那么 DbSet<Product> 就代表数据库中的 Products 表。
DbSet 是 DbContext 的核心组成部分,它不直接访问数据库,而是通过 EF Core 的变更跟踪和 LINQ 查询翻译机制,将 C# 代码转换为 SQL 语句。
使用 DbSet 主要包括定义上下文类、声明 DbSet 属性以及在代码中进行数据操作。
1. 创建实体类
定义你要映射到数据库的类:
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}
2. 在 DbContext 中声明 DbSet 属性
创建一个继承自 DbContext 的类,并添加 DbSet 属性:
public class AppDbContext : DbContext
{
public DbSet
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer("YourConnectionString");
}
}
3. 使用 DbSet 进行数据操作
在应用程序中,你可以通过实例化 DbContext 并使用 DbSet 来操作数据:
using var context = new AppDbContext();
// 查询所有产品
var products = context.Products.ToList();
// 添加新产品
context.Products.Add(new Product { Name = "Laptop", Price = 999.99m });
context.SaveChanges();
// 修改产品
var product = context.Products.Find(1);
if (product != null) product.Price = 899.99m;
context.SaveChanges();
// 删除产品
context.Products.Remove(product);
context.SaveChanges();
DbSet 属性必须是 public,且在 DbContext 中声明后,EF Core 才能自动识别并映射到数据库表。
DbSet 支持 LINQ 查询,因此你可以使用 Where、OrderBy、Select 等方法,查询会在数据库端执行。
不要手动创建 DbSet 的实例,它由 EF Core 在运行时自动提供。
基本上就这些,DbSet 是连接实体类与数据库表的桥梁,掌握它的用法是使用 EF Core 的基础。
以上就是Entity Framework Core中的DbSet属性代表什么?如何使用?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号