Reference 如何在mvc3项目中使用引用dll中的模型

Reference 如何在mvc3项目中使用引用dll中的模型,reference,connection-string,models,entities,Reference,Connection String,Models,Entities,我有一个类库,它有自己的模型和到数据库的连接字符串。独立的,这一切都很好,从数据库检索数据没有问题。这个库的思想是创建一个dll并在另一个应用程序中引用它 在我的例子中,我有一个MVC3 web应用程序,它有自己的模型和connectionstring。我引用了类库,添加了第二个connectionstring和整个应用程序构建。但是当我运行appliction并实际调用引用库上的方法时,我得到一个EntitySqlException“'MyTable'无法在当前范围或上下文中解析。确保所有引用

我有一个类库,它有自己的模型和到数据库的连接字符串。独立的,这一切都很好,从数据库检索数据没有问题。这个库的思想是创建一个dll并在另一个应用程序中引用它

在我的例子中,我有一个MVC3 web应用程序,它有自己的模型和connectionstring。我引用了类库,添加了第二个connectionstring和整个应用程序构建。但是当我运行appliction并实际调用引用库上的方法时,我得到一个EntitySqlException“'MyTable'无法在当前范围或上下文中解析。确保所有引用的变量都在范围内,加载了所需的架构,并且正确引用了名称空间。靠近转义标识符,第1行,第1列。“

我确保引用库的模型文件也被复制到mvc项目的bin目录,我的web.config如下所示:

<configSections>
<section name="DefaultArchitecture" type="DefaultArchitectureConfiguration"/>
</configSections> 

<DefaultArchitecture defaultContainerName="defaultContainer" connectionStringName="defaultContainer"/>

<connectionStrings>
<add name="defaultContainer" connectionString="metadata=res://*/MvcModel.csdl|res://*/MvcModel.ssdl|res://*/MvcModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=cloudaddress;Initial Catalog=main catalog;User ID=user;Password=pass;Encrypt=true;Trusted_Connection=false;trustServerCertificate=true&quot;" providerName="System.Data.EntityClient" />
<add name="secondContainer" 
     connectionString="metadata=~\bin\libmodel.csdl|
                                ~\bin\libmodel.ssdl|
                                ~\bin\libmodel.msl;
                       provider=System.Data.SqlClient;
                       provider connection string=&quot;
                       data source=cloudaddress;
                       initial catalog=othercatalog;
                       persist security info=True;
                       user id=user;
                       password=pass;
                       multipleactiveresultsets=True;
                       App=EntityFramework&quot;" 
      providerName="System.Data.EntityClient" />

如果我将defaultcontainername更改为secondcontainer…它对引用的库可以正常工作,但当然对defaultcontainer不再有效

问题是…我如何在我的mvc项目中使用这两个模型,通过拥有一个带有自己模型(和自己的数据库)的引用类库,而不存在无法解决其中一个实体的问题


希望我的问题是清楚的。如果没有,请让我知道,这样我可以提供更多信息。

最终证明这是一个上下文问题。调用类库时我仍然使用了错误的上下文。我通过实现idisposable并在创建库的服务类时切换到正确的上下文来修复它处置中