我有一个类库,它有自己的模型和连接到数据库的连接字符串。独立,这工作都很好,从数据库中检索数据没有问题。这个库的想法是在另一个应用程序中创建一个dll和引用。如何在mvc3项目中使用引用dll的模型
在我的情况下,我有一个MVC3的Web应用程序与它自己的模型和connectionstring。我引用了类库,添加了第二个连接字符串,并构建了整个应用程序。但是,当我运行应用程序并实际调用引用库中的方法时,我得到一个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="Data Source=cloudaddress;Initial Catalog=main catalog;User ID=user;Password=pass;Encrypt=true;Trusted_Connection=false;trustServerCertificate=true"" 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="
data source=cloudaddress;
initial catalog=othercatalog;
persist security info=True;
user id=user;
password=pass;
multipleactiveresultsets=True;
App=EntityFramework""
providerName="System.Data.EntityClient" />
如果我改变defaultcontainername到第二个容器......它适用于引用的库,但当然不再是defaultcontainer。
问题是......我怎样才能在我的mvc项目中使用这两种模型,通过使用它自己的模型(和自己的数据库)引用类库,而不存在无法解析其中一个实体的问题。
希望我的问题很清楚。如果没有,请让我知道,这样我可以提供更多信息。