gpt4 book ai didi

c# - 解析 DBContext 并在 Asp.Net Core 中实现另一个接口(interface)

转载 作者:太空狗 更新时间:2023-10-29 21:26:38 24 4
gpt4 key购买 nike

我有一个带有签名的 EF 上下文

public class MyContext : DbContext, IDbContext
{

}

当我将它添加到服务中时,我会使用它

services.AddDbContext<MyContext>(op =>
{
op.UseSqlServer(configuration.GetConnectionString("DefaultConnection"));
});

但是当我像这样注入(inject) IDbContext 时它会导致问题

services.AddScoped(typeof(IDbContext), typeof(MyContext));

因为它复制了我的 DbContext,而且每个请求应该只有一个。

我该如何解决?

最佳答案

在您的情况下,使用工厂方法应该可以正常工作。

services.AddScoped<IDbContext>(provider => provider.GetService(typeof(MyContext)));

通过这种方式,您将解析 MyDbContext 的新实例(在第一次调用时)或在最终调用请求期间返回已实例化的实例。

关于c# - 解析 DBContext 并在 Asp.Net Core 中实现另一个接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40227676/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com