回答

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