我使用 EntityFramework Core 和 .net core 2.0 在项目中工作,我需要连接到多个数据库为了获取数据来执行一个cron,我在DbContext.cs
中注入了startup.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;
}
}
由依赖注入管理。 我的问题是,是否可以使用一个注入的dbcontext实例,并在运行时需要更改连接,我真的没有找到一个明确的解决方案,我试图使用一个setter并实现一个新的dbContext evry时间我需要连接到一个新的数据库,但它看起来很漂亮:
public void SetContext(DbContext context)
{
_context = context;
}
public DbContext _context { get; set; }
答案 0 :(得分:0)
是否可以使用一个注入的dbcontext实例,并在需要的运行时更改连接,
没有。如果您的工作单元需要连接到多个数据库,则需要多个DbContext实例。