所以故事是这样的。
我有一个名为 PA.DLL 的项目,其中包含一个实体模型 (edmx) 文件。
在我引用 PA.DLL 的另一个项目中,我将创建 edmx 文件时(自动)创建的连接字符串复制到主应用程序 app.config 中。
但是,当我加载并运行以下几行时:
using (PAEntities analytix = new PAEntities())
{
...
}
我收到以下错误:
System.ArgumentException: The specified default EntityContainer name 'PAEntities' could not be found in the mapping and metadata information.
有谁知道这个错误的原因是什么?
这是我的连接字符串的配置方式:
<add name="PAEntities"
connectionString="metadata=res://*/PAEntities.csdl|res://*/PAEntities.ssdl|res://*/PAEntities.msl;provider=System.Data.SqlClient;provider connection string="Data Source=XSXSX;Initial Catalog=PA;Integrated Security=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />
谢谢
最佳答案
一种解决方案是将连接字符串放置到使用 DLL 的项目的配置文件中。
另一种是在代码中传递连接字符串(使用PAEntities的参数化构造函数)。
关于entity-framework - EDMX 连接字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2242214/