0
我的程序使用EF從SQL CE數據庫訪問數據。當使用調試設置來調試應用程序時,它可以正常工作,但如果我使用發佈設置,當程序試圖通過EF訪問數據庫時,我會遇到MetadataException。 我到目前爲止已經檢查:發佈版本中的MetadataException
- 調試和發佈配置都是相同的(相同的目標平臺)
- 在app.config複製到同一目錄下的可執行文件(\發佈)
- 的SDF數據庫文件被複制到\釋放\
- 元數據工件加工被設置爲嵌入在輸出組件
- 連接字符串名稱是的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="Data Source=|DataDirectory|\GeoData.sdf"" providerName="System.Data.EntityClient" />
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
</startup>
</configuration>
組裝Model.EF是命名空間和EDMX的型號名稱,我覺得應該是正確的。
我知道有很多關於MetadataException的帖子和博客,我試圖解決這個問題,但到目前爲止沒有任何工作。
問候
周杰倫