【发布时间】:2012-03-30 14:22:58
【问题描述】:
我提前工作并计划从 EF 4.2 CTP 过渡到 EF 5.0,当在 VS11 + .NET 4.5 中“添加代码生成模板”时,DbContext 模板不再可用。是否有任何提示是否可用,如果不可用(只是好奇)?
更新:
我在 Enum 教程中看到了对 DbContext 模板的引用,但在我的 VS11 项目中没有看到该模板,该模板针对安装了 EF5.0 -pre 的 .NET 4.5。我看到了另外两个 V5.0 模板(EntityObject 和 Self-Tracking)。会不会与其他安装发生冲突,比如在我的情况下,Entity-Framework 4.2 CTP?在试用 EF 5.0 时,我遇到了 VS 无法决定使用什么 System.Data.Entity 并默认为 4.2 的模板问题。
更新 2:
全新安装 Windows Server 8 Beta,全新安装 Visual Studio 11 Beta,仍然没有 EF5 DbContext 代码生成模板。 EF 4.2 和 VS 2010 的模板扩展未安装,实际上 VS 2010 也未安装。仅供参考...
【问题讨论】:
-
首先你要卸载你的 4.2 CTP 版本。它正在使用绑定重定向(和其他一些技巧),这可能会导致一些难以解决的意外问题弹出。请注意,卸载 CTP 会破坏您的工具。 microsoft.com/download/en/… 的自述文件包含显示如何解决此问题的步骤。一旦您安装了 VS11、.NET Fx 4.5 Beta(和 EF 5.0 Beta 安装 - 这仅适用于 CodeFirst 方法),您应该能够在“在线项目”中找到模板
-
以下是对我有用的步骤:1) 单击解决方案资源管理器中的 edmx 文件以打开设计器 2) 选择添加代码生成项...。 3) 从 Online items 中选择 EF 5.x DbContext Generator 并点击 Add 按钮
-
感谢您的信息,我很害怕。在将基于它的生产代码转换到 EF 5.0 之前,我无法卸载 4.2 CTP。听起来我要等 VS11、EF 5.0 和 .NET 5.0 完成后再继续……
-
那我觉得你有麻烦了。 EF 4.2 是 CTP,并不打算用于生产。几周前发布了 VS11 和 .NET Framwork 4.5 的 Beta 版,它们都有“上线”许可证(与 EF 4.2 June CTP 相反)。我相信这也意味着 .NET Framework 4.5 Beta 和 RTM 之间不会有大的变化。 EF 5.0 beta 2 已于几天前发布,并且还有一个“上线”许可证 - 请参阅公告blogs.msdn.com/b/adonet/archive/2012/03/22/…
-
确实,在采取这个方向之前,我理解并完全理解这一点,但以前的版本太慢了,以至于无法用于“生产”实现。我已做好充分准备,可以在不混合 ORM 的情况下继续在生产环境中使用 EF。
标签: entity-framework entity-framework-5