C# 创建模型时无法使用上下文[在运行时使用不同的连接字符串]
我为一个应用程序提供了多个数据库。我用的是EF。我根据请求更改了连接字符串。连接字符串存储在缓存中。当多个数据库的多个用户put请求时,它会变慢,有时会产生此错误。我知道为什么会产生这种错误。但我没有找到解决这个问题的好办法。我不想放慢我的申请速度。 下面是我的DB上下文类的代码片段C# 创建模型时无法使用上下文[在运行时使用不同的连接字符串],c#,asp.net-mvc,entity-framework,dbcontext,C#,Asp.net Mvc,Entity Framework,Dbcontext,我为一个应用程序提供了多个数据库。我用的是EF。我根据请求更改了连接字符串。连接字符串存储在缓存中。当多个数据库的多个用户put请求时,它会变慢,有时会产生此错误。我知道为什么会产生这种错误。但我没有找到解决这个问题的好办法。我不想放慢我的申请速度。 下面是我的DB上下文类的代码片段 public DefaultContext() : base("name=DefaultContext") { this.Configuration.LazyLoadingEnabl
public DefaultContext() : base("name=DefaultContext")
{
this.Configuration.LazyLoadingEnabled = false;
}
public DefaultContext(string connectionString) : base(connectionString)
{
this.Configuration.LazyLoadingEnabled = false;
}
DB.cs
private readonly DefaultContext\u context=newdefaultcontext(ConnectionConfiguration.GetConnectionString(“DefaultContext”);
私有存储库(private Repository);;
公共存储库
{
获取{return _repository???(_repository=newrepository(_context));}
}
repository.cs
public class Repository<T> where T : class
{
internal DefaultContext Context;
internal DbSet<T> DbSet;
public Repository(DefaultContext context)
{
Context = context;
DbSet = context.Set<T>();
}
}
公共类存储库,其中T:class
{
内部语境;
内部数据库集;
公共存储库(默认上下文)
{
上下文=上下文;
DbSet=context.Set();
}
}
我在某个地方读过关于使用依赖注入(Ninject)的文章。我们将不胜感激。谢谢
public class Repository<T> where T : class
{
internal DefaultContext Context;
internal DbSet<T> DbSet;
public Repository(DefaultContext context)
{
Context = context;
DbSet = context.Set<T>();
}
}