Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/271.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.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_Asp.net Mvc_Unity Container_Datacontext - Fatal编程技术网

C# 在我的模型中使用两个不同的数据库-构造函数崩溃

C# 在我的模型中使用两个不同的数据库-构造函数崩溃,c#,asp.net,asp.net-mvc,unity-container,datacontext,C#,Asp.net,Asp.net Mvc,Unity Container,Datacontext,我有一个为单个数据库工作的项目。现在我需要让它与具有相同数据结构的第二个(在同一个项目中)一起工作。因此,我使用相同的模型,并试图在调用我的数据上下文类时传入数据连接名称。很遗憾,我收到以下错误: 无法构造类型字符串。您必须配置 容器来提供此值 以下是我尝试的代码: public UniversityContext(string context) : base(context){ } 当我寻找答案时,我找到了那个错误的答案,它推荐使用一个无参数构造函数。我试过了

我有一个为单个数据库工作的项目。现在我需要让它与具有相同数据结构的第二个(在同一个项目中)一起工作。因此,我使用相同的模型,并试图在调用我的数据上下文类时传入数据连接名称。很遗憾,我收到以下错误:

无法构造类型字符串。您必须配置 容器来提供此值

以下是我尝试的代码:

public UniversityContext(string context)
            : base(context){

   }
当我寻找答案时,我找到了那个错误的答案,它推荐使用一个无参数构造函数。我试过了,但还是一样的问题

这里是无参数构造函数:

public UniversityContext()
            : base("UniversityConnection")
        {

        }

        public UniversityContext(string context)
            : base(context)
        {

        }

如果有关系,我使用的是Unity。

Unity会自动尝试使用最贪婪的构造函数。在您的情况下,这是:

public UniversityContext(string context)
您可以使用注入构造函数对此进行配置,而不会看到类似以下内容的代码:

container.RegisterType<UniversityContext>(
          new InjectionConstructor("UniversityContext"));
container.RegisterType(
新注入构造函数(“UniversityContext”);

Hutchonoid,谢谢您的回复,但是我应该把注入构造函数放在哪里?我怎样才能得到它呢?我会根据不同的连接而改变。顺便说一句,我更新了一点原始帖子(更新了连接名)。@DJBLO没问题,我通常有一个引导程序来配置所有注册的类型。您可以从web.config中读取该值,也可以根据您的需求在运行时确定该值。这是一篇好文章: