gpt4 book ai didi

c# - 在 EntityFramework 和 .net 核心依赖注入(inject)中使用一个 dbContext 和多个连接字符串

转载 作者:行者123 更新时间:2023-12-05 06:33:20 29 4
gpt4 key购买 nike

我在一个使用 EntityFramework Core.net core 2.0 的项目中工作,我需要连接到多个数据库才能获得执行 cron 的数据,我在 startup.cs 中注入(inject)了 DbContext.cs,如上所示:

  services.AddDbContext<DbContext.cs>();

我在我的 UnitOfWork.cs 中使用它,如下所示:

public class UnitOfWork<Context> : IUnitOfWork where Context : DbContext
{
public DbContext _context { get; set; }

public DbContext getContext()
{
return _context;
}
public UnitOfWork(DbContext context)
{
_context = context;
}
}

这也是由依赖注入(inject)管理的。

我的问题是,是否可以使用一个注入(inject)的 dbcontext 实例,并在运行时根据需要更改连接?我真的没有找到一个明确的解决方案。我尝试使用 setter 并在每次需要连接到新数据库时实例化一个新的 dbContext,但它看起来并不那么漂亮:

public void SetContext(DbContext context)
{
_context = context;
}
public DbContext _context { get; set; }

最佳答案

is it possible to work with a one injected instance of dbcontext, and change the connection at runtime in need,

没有。如果您的工作单元需要连接到多个数据库,则需要多个 DbContext 实例。

关于c# - 在 EntityFramework 和 .net 核心依赖注入(inject)中使用一个 dbContext 和多个连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50818470/

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