Entity Framework Core 中的 DbContext
admin
2021-06-03Entity Framework Core 中的 DbContext
本文作者:梁桐铭- 微软最有价值专家(Microsoft MVP)
本文出自《从零开始学 ASP.NET Core 与 EntityFramework Core》目录
视频课程效果更佳:跨平台开发实战掌握 ASP.NET Core 与 EntityFramework Core
在本章节中,我们将讨论 Entity Framework Core 中的 DbContext 类 的重要性。
它是 EF Core 中非常重要的类之一,DbContext 的作用是在我们的应用程序代码中用于与底层数据库交互的类。正是这个类在管理数据库连接,用于它查询和保存数据库中的数据。
在我们的应用程序中使用 DbContext
- 我们创建一个派生自 DbContext 的类。
- DbContext 类位于 Microsoft.EntityFrameworkCore 命名空间中。
public class AppDbContext : DbContext
{ }
Entity Framework Core 中的 DbContextOptions
- 为了使 DbContext 类能够执行任何有用的工作,它需要一个 DbContextOptions 类的实例。
- 下述 DbContextOptions 实例会承载应用中的配置信息,如连接字符串,数据库提供商使用等
- 要传递 DbContextOptions 实例,我们使用构造函数,如下例所示。
- 我们要使用DbContext中的第二个重载方法,该重载方法是指定我们使用的配置信息。所以需要继承base将配置信息传递进去。
- 有关 DbContextOptions 类的更多信息,会在我们学习 ASP.NET Core 中的数据库连接字符串时,进行学习.
public class AppDbContext : DbContext
{
public AppDbContext(DbContextOptions<AppDbContext> options)
: base(options)
{
}
}
Entity Framework Core DbSet
下面代码中的 DbContext 类包括一个DbSet <TEntity>
模型,而在里面会包含一个实体属性。
- 在我们的应用程序中,我们只有一个实体类 - Student。
- 所以在我们的 AppDbContext 类中,只有一个
DbSet<Student>
属性。 - 我们将使用此 DbSet 属性 Students 来查询和保存 Student 类的实例。
- 针对
DbSet<TEntity>
的 LINQ 查询将被转换为针对底层数据库的查询。 我们将在后面的章节中看到这一点。
public class AppDbContext : DbContext
{
public AppDbContext(DbContextOptions<AppDbContext> options)
: base(options)
{
}
public DbSet<Student> Students { get; set; }
}
为了能够连接到数据库,我们需要数据库连接字符串。在下一个视频中,我们将讨论在何处定义连接字符串并在 Entity Framework Core 中使用它。
文章说明
如果您觉得我的文章质量还不错,欢迎打赏,也可以订阅我的视频哦
未得到授权不得擅自转载本文内容,52abp.com 保留版权
感谢您对我的支持