5

我们将一些项目从 VS2010 迁移到 VS2012,但仍然使用 .NET 4.0 而不是.NET 4.5

当我添加新的 EDMX 时,VS2012 使用 EF 5.0 但我想继续使用 4.x 版本,这是第一点。

第二点是5.0版,继承自DbContext,而不是像4.x版那样的ObjectContext。在 5.0 版中,我看不到任何将连接字符串作为参数传递的方法。

如何在 VS2012 中使用具有相同 EDMX 设计器行为的 4.x 版?

谢谢,

4

1 回答 1

10

正如评论中提到的,你真的得到的是 EF 4.4,而不是 EF 5.0。然而,令人困惑的是,EF 4.4 包含在 NuGet EntityFramework 5.0 包中。

对于您的其他问题,您可以在设计器中打开 EDMX,将“代码生成策略”从“无”恢复为“默认”,然后在解决方案资源管理器中删除.tt文件。现在你将ObjectContext再次拥有你的,如果你愿意,你可以从你的项目中删除 EntityFramework 包。

我不确定是否有任何方法可以更改添加 NuGet 包的默认行为。

于 2012-08-28T07:48:42.650 回答