发布版本中的MetadataException

时间:2011-07-20 19:58:20

标签: c# .net entity-framework

我的程序使用EF从SQL CE数据库访问数据。使用调试设置调试应用程序时,它工作正常,但如果我使用发布设置,当程序尝试通过EF访问数据库时,我会收到MetadataException。 到目前为止我检查了什么:

  • 调试和发布配置完全相同(相同的目标平台)
  • 将app.config复制到与可执行文件(\ Release)
  • 相同的目录中
  • 将sdf数据库文件复制到\ Release \
  • 元数据工件处理设置为嵌入输出程序集
  • 连接字符串名称在app.config和EF模型中相同

我的app.config:

    <?xml version="1.0"?>
    <configuration>
    <connectionStrings>
    <add name="GeoDataEntities" connectionString="metadata=res://*/Model.EF.Model.csdl|res://*/Model.EF.Model.ssdl|res://*/Model.EF.Model.msl;provider=System.Data.SqlServerCe.3.5;provider connection string=&quot;Data Source=|DataDirectory|\GeoData.sdf&quot;" providerName="System.Data.EntityClient" />
    </connectionStrings>
    <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
    </startup>
</configuration>

程序集Model.EF是名称空间,模型是edmx的名称,我认为应该是正确的。

我知道有很多关于MetadataException的帖子和博客,我试图解决这个问题,但到目前为止还没有任何工作。

祝你好运

1 个答案:

答案 0 :(得分:0)

我真的不知道我做了什么,但是因为我已经办理登记手续并从TFS办理退房手续了。