2011-07-20 68 views
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=&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的帖子和博客,我試圖解決這個問題,但到目前爲止沒有任何工作。

問候

周杰倫

回答

0

我真的不知道我做了什麼,但它的工作,因爲我已經檢查並從TFS簽出。