回答

13

您可以在EDMX模型中使用DbContext。安裝EFv4.1後,您應該有新的T4模板可用:DbContext生成器。這將採用您的EDMX併爲您創建源自DbContext和所有POCO實體的上下文。 Here你有演練。

但是,如果你想切換到DbContext只是因爲DbContext.Entry.State你不必。 EFv4有類似的機制:

context.ObjectStateManager.ChangeObjectState(entity, EntityState.Modified); 

Here是完整描述如何更新EFv4的實體。

+0

這是很好的信息,並指出我在完全正確的方向。 謝謝! – 2011-04-14 18:45:20

+0

Hi Ladislav Mrnka,我已經通過Nuget安裝了EFv4.2,但我仍然沒有在EDMX模型中看到「DbContext generator」T4模板,只有「實體對象生成器」和「自我跟蹤生成器」可用。我需要首先安裝EFv4.1嗎? – JatSing 2011-11-16 07:31:27

+1

@Sun:DbContext生成器不是EFv4.2的一部分,因爲NuGet包不會安裝模板。您必須從Visual Studio庫中單獨下載它。 – 2011-11-16 10:56:59

0

你是希望什麼beneftis由EF4.0升級到4.1看?由於您已經擁有現有的模型,您顯然不會從使用模型優先開發中受益。您可以從EF4.0生成POCO對象。請參閱Entity Framework upgrade from v4 to v4.1(RC)

+0

具體來說,我可以在線查找更新模型的每個教程都使用DBContext.Entry.State機制。我認爲最簡單的做法是使用具有這個方便功能的最新版本。 – 2011-04-14 17:51:00

+1

事實上,我找不到有關EF 4.0的任何內容以及如何使用它。該消息似乎很大程度上是:使用4.1並忘記4.0曾經存在過大聲笑 – 2011-04-14 18:35:29