Entity Framework 無法加載指定的元數據資源。


ADO.NET Entity Framework發布以來,本人也一直在用,深感好用,忍不住地要感謝微軟啊!由於項目結構創建完成后,沒怎么改動過,所以一直沒出題過問題,可最近由於改動了下命名空間,問題來了,正是標題中的“無法加載指定的元數據資源”。經過百般調試終於解決了,寫下做為記錄。

  • 開發工具:VS 2010 CN
  • 開發語言:Visual C#
  • ADO.NET Entity Framework
  • 模型名稱:Authorize.edmx
  • 實體容器:AuthorizeContainer

先詳細說下問題出現的原因:

自從項目創建以來 Authorize.edmx 模型文件一直放在 Model文件夾下

項目一直調試運行,沒有出現過錯誤,最近因項目需要將Model 更名為Models問題隨之而來,在調用實體容器構造函數時便出現以下錯誤:

放放風

“無法加載指定的元數據資源”,在這里聲明更改命名空間后項目重新生成成功。卻突然彈出這么一個錯誤,剛開始真是一頭霧水,沒辦法,只能解決,重新生成元數據后,很失望沒有解決。。。。。

直接說結果吧,在打開App.Config的時候找到了原因,就在這里:

 這個是更改之前的:

<add name="AuthorizeContainer" connectionString="metadata=res://*/Model.Authorize.csdl|res://*/Model.Authorize.ssdl|res://*/Model.Authorize.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=Server;Initial Catalog=EIPS;Persist Security Info=True;User ID=sa;Password=123;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />

 

這個是更改之后的:
<add name="AuthorizeContainer" connectionString="metadata=res://*/Models.Authorize.csdl|res://*/Models.Authorize.ssdl|res://*/Models.Authorize.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=Server;Initial Catalog=EIPS;Persist Security Info=True;User ID=sa;Password=123;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />

 

 

就是“metadata=res://*/Models.Authorize.csdl|res://*/Models.Authorize.ssdl|res://*/Models.Authorize.msl;”

metadata:指明.csdl/.ssdl/.msl三個文件的路徑

小記:更改模型命名空間一定不要忘了在App.Config中更改.csdl/.ssdl/.msl三個文件的路徑,本文能夠寫出來,全是因自身的基礎知識不好,希望大家也多多補充基礎知識。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM