【问题标题】:EDMX connection stringEDMX 连接字符串
【发布时间】:2011-01-15 13:54:59
【问题描述】:

所以故事是这样的。

我有一个名为 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=&quot;Data Source=XSXSX;Initial Catalog=PA;Integrated Security=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />

谢谢

【问题讨论】:

    标签: entity-framework connection-string edmx


    【解决方案1】:

    一种解决方案是将连接字符串放置到使用您的 DLL 的项目的配置文件中。
    另一种是在代码中传递连接字符串(使用PAEntities的参数化构造函数)。

    【讨论】:

      【解决方案2】:

      在解决方案资源管理器中,右键单击实体数据模型文件 (.edmx),然后单击“打开方式”。将打开一个对话框,让您选择一个程序来打开文件。 选择或双击“XML(文本)编辑器”。

      现在您正在查看 EDM 文件的 XML 版本,您可以在其中轻松编辑“EntityContainer”名称。

      如果您更改了 webconfig 文件中的连接字符串,请确保“DefaultContainerName”是该 XML 文件中“EntityContainer”部分的名称。

      通常当您更新 *.Designer.cs 文件中的 defaultContainerName 时,它​​不会更新 XML 文件。所以你必须手动完成。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-20
        • 1970-01-01
        • 2023-03-16
        • 2012-08-16
        • 2014-03-31
        相关资源
        最近更新 更多