Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 创建模型时无法使用上下文[在运行时使用不同的连接字符串]_C#_Asp.net Mvc_Entity Framework_Dbcontext - Fatal编程技术网

C# 创建模型时无法使用上下文[在运行时使用不同的连接字符串]

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

我为一个应用程序提供了多个数据库。我用的是EF。我根据请求更改了连接字符串。连接字符串存储在缓存中。当多个数据库的多个用户put请求时,它会变慢,有时会产生此错误。我知道为什么会产生这种错误。但我没有找到解决这个问题的好办法。我不想放慢我的申请速度。 下面是我的DB上下文类的代码片段

    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>();
    }
 }