簡體   English   中英

Visual Studio不會從Silverlight應用程序的實體框架生成更新的代碼

[英]Visual Studio does not generate updated code from entity framework for Silverlight application

我有一個包含部分內容的項目:

  • Silverlight應用
  • 一個ASP.NET MVC Web前端,可承載多個頁面,其中包括Silverlight應用程序的一個頁面
  • 具有從實體框架edmx生成的模型的通用庫

我需要向表中添加一個新屬性,因此首先將其添加到數據庫中,然后在實體框架上,右鍵單擊->從數據庫更新模型。 實體框架圖顯示了新字段,並且asp.net Web前端可以在其控制器動作中使用new屬性,但沒有問題,但是在Silverlight應用程序中轉儲的生成代碼不包含新字段,因此Siverlight應用程序好像它不存在一樣。

如何獲得生成的代碼以尊重新屬性?

我關注的Stack Overflow帖子:

更新實體框架模型后,Visual Studio將看不到更改

  • 我在更新網站上查看,但未顯示更新1,而是顯示了已安裝的更新4。

數據庫中的Entity Framework 5更新模型不會生成表類

  • 我的項目中任何地方都沒有.tt文件

此外,我發現即使intellisense在asp.net項目中獲得了新屬性,但實際上嘗試為該屬性執行代碼時,我仍然遇到此錯誤:

Method not found: 'Void Models.User.set_Subscribed(System.Nullable 1)'。

我找到了解決兩個問題的答案:

從公共庫生成的dll被復制到C:\\ Windows \\ Microsoft.NET \\ assembly \\ GAC_MSIL

當我檢查時,它是幾個月前的版本。 當我刪除它時,一切都按預期開始工作,並且intellisense開始顯示Silverlight的屬性。

但是將生成的代碼轉儲到Silverlight應用程序中

重建(首先做一個完整的Clean )托管Silverlight應用程序的Web服務項目。 這應該更新實際上最終使用EF edmx的任何RIA訪問或WCF數據服務。

如果它正在使用WCF數據服務,則在構建Web服務項目之后,您將需要更新服務參考。

請注意在更新服務引用之前可能要關閉本地IIS Express,因為緩存的服務將阻止WCF數據服務項目。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM