c# - 如何在我想要的 ASP.NET Core 2.0 中获取 DbContext 的实例?
问题描述
如何在我想要的 ASP.NET Core 2.0 中获取 DbContext 的实例?要连接数据库,我使用了服务
string connection = Configuration.GetConnectionString("DefaultConnection");
services.AddDbContext<MobileContext>(options => options.UseSqlServer(connection));
解决方案
这在文档中有所描述:
摘抄:
EF Core 支持将 DbContext 与依赖项注入容器一起使用。可以使用 AddDbContext 方法将您的 DbContext 类型添加到服务容器中。
AddDbContext 将使您的 DbContext 类型、TContext 和相应的 DbContextOptions 都可用于从服务容器注入。
应用程序代码(在 ASP.NET Core 中):
public class MyController
{
private readonly BloggingContext _context;
public MyController(BloggingContext context)
{
_context = context;
}
...
}
应用代码(直接使用ServiceProvider,不太常见):
using (var context = serviceProvider.GetService<BloggingContext>())
{
// do stuff
}
var options = serviceProvider.GetService<DbContextOptions<BloggingContext>>();
推荐阅读
- syntax-error - 文本“genvar”附近 test_bench_lb2.v(14) 处的 Verilog HDL 语法错误;期待“结束”
- angular - RxJs - 将数据推送到 observable
- php - 遍历数组,将值与对象值进行比较,并根据这些值定义一个新数组
- php - Php - 解码 http 响应
- laravel - 如何在控制器中获取 User()->id (Laravel 8+)
- java - org.h2.message.DbException.getJdbcSQLException
- python - 检索不支持的图像形状(1,224,224,64)错误
- python - 运行 selenium chromedriver 后出现两个 chrome 窗口和意外退出
- python - 为什么我关闭程序后我的字典没有更新?
- java - Android Room with a View - Java 触发错误:WordViewModel 没有零参数构造函数