2012-08-22 34 views
3

我正在尋找一個Entity Framework 5.0的ObjectContext生成器,而不是一個DbContext生成器。 WCF數據服務需要一個ObjectContext,並且不能與DbContext一起使用。如果我想使用EF5和DataService,我必須提供一個ObjectContext。 Visual Studio 2010中的ObjectContext生成器在線和用於「ADO」和「EF 4.x」。 「EF 5.x」的生成器都是產品DbContext對象。是否有Entity Framework 5.0的ObjectContext生成器?

回答

7

右鍵單擊設計器中的空白區域並選擇屬性,然後將代碼生成策略更改爲「默認」。您也必須刪除代碼優先的TT文件。

+1

我剛剛從數據庫生成一個DbContext,並且代碼生成策略已經是Default,但它創建了一個DbContext。 – ProfK

0

您可能希望將WCF數據服務的版本更新爲5.x.然後它將與DBContext一起工作。

4

雖然爲時已晚 - 您必須首先刪除您的edmx文件(所有tt模板)下的所有內容。之後,您將不得不下載創建ObjectContext的代碼生成器。爲此,請右鍵單擊您的edmx並選擇添加代碼生成項目。之後,選擇在線(在左側)並選擇EF 5.x EntityObject生成器用於C# - 這是生成ObjectContext的生成器,您將在描述中看到它(這對EF 4.x也是有效的,只需查找相同的生成器,但名稱中包含4.x)。安裝它,您將在繼承ObjectContext的edmx下使用您的模型。

0
using System.Data.Entity.Infrastructure; 

ObjectContext context = ((IObjectContextAdapter)DbContextObject).ObjectContext; 
相關問題