簡體   English   中英

在VS2012中使用動態數據實體網站時出錯

[英]Error in using Dynamic Data Entities Web Site in VS2012

我決定在VS2012中使用動態數據實體網站。

因此,我創建了這個Web站點,然后添加了App_Code目錄並edmx添加了一個新的edmx其命名為myDB.edmx 之后,我取消注釋了Global.asax中注冊實體上下文的代碼行:

DefaultModel.RegisterContext(typeof(myDBEntities), new ContextConfiguration() { ScaffoldAllTables = true });

但是當我運行網站時,會發生以下錯誤:

The context type 'myDBEntities' is not supported.

我該怎么解決?

ps:您現在使用Dynamic Data L2S Web SiteDynamic Data Entities Web Site使用實體框架之間存在一些差異。

我仍在尋找原因,但是現在唯一的選擇是在VS2010中創建項目然后將項目遷移到VS2012然后我在運行應用程序時沒有任何問題

出現此問題的原因是,在Visual Studio 2012中,您將獲得默認情況下為使用EF Designer創建的所有新模型生成的DbContext (而不是Visual Studio 2010中的ObjectContext )代碼。 為了解決這個問題,您需要恢復到ObjectContext代碼生成。

有關更多信息,請參閱EF Designer中的還原為ObjectContext

  1. 從模型中刪除TT文件

  2. 將“代碼生成狀態”更改為“默認”

在Global.asax文件中,取消注釋其他RegisterContext行。

 DefaultModel.RegisterContext( _
           New System.Func(Of Object)(Function() DirectCast(New [Your edmx](), IObjectContextAdapter).ObjectContext), _
           New ContextConfiguration() With {.ScaffoldAllTables = True} _
         )

暫無
暫無

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

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