2011-10-01 32 views
0

最近我開始在.NET中使用EF 4.1,直到今天我嘗試建立自己的項目(到目前爲止我一直在處理其他人開始的項目)時,他都有着積極的經驗。EF和POCO。如何正確設置我的項目

事情只是不想開箱即用。我沒有做任何特別的事情。其實,首先它的工作,然後它停止了藍色工作,現在我花了4個小時浪費我的時間寫這篇文章。

我的解決方案由3個項目:
Web應用程序(在我的應用現場)
數據訪問
的BusinessObjects

數據訪問包含EntityModel.edmx和EntityModel.Context.tt文件。
BusinessObjects包含具有所有基礎對象的EntityModel.tt。我使用ADO.NET DbContext生成器來生成對象。
EntityModel.Context.tt的名稱空間設置爲BusinessObjects。

WebApp和DataAccess引用了BusinessObjects項目。 BusinessObjects不會引用任何內容。

(我相信我沒有設置這個正確。EntityModle.tt能夠看到EDMX文件和對象獲得創建,當我編輯的文件。)

所以,在這一點上的項目,沒有錯誤編譯很好。

在我的下一步中,我將EntityDataSource添加到我的default.aspx頁面,並且在選擇數據源配置(一個來自web.config)中的連接後,出現錯誤:無法加載此連接字符串中指定的元數據。考慮重建Web項目...無法加載指定的元數據資源。

我之前有過這個問題,當我拼錯連接字符串中的某些內容,更改模型名稱或類似內容時,但現在我什麼也沒做。我重新創建了edmx文件及其POCO幾次,確保我從app.config中複製了連接字符串。它根本不起作用。

任何幫助表示讚賞。 謝謝。

回答

0

你將不得不更改連接字符串在你的web.config這樣:

connectionString="metadata=res://*/;provider=System.Data.SqlClient;provider...etc... 

基本上是:元= RES:// */;將嘗試在項目中所有引用的程序集中查找嵌入式元數據文件(csdl,msl,ssdl),並且您將更好地定位生成爲edmx文件工件的嵌入式資源。

希望這會有所幫助。

+0

我試過了。不工作。但除此之外,我在太多的地方(在這個論壇上)讀到這是一個不好的做法。 – bobetko

相關問題