我一直在使用ObjectContexts
已经很长一段时间了。现在我已经安装了 VS 2012,令我惊讶的是,实体数据模型没有创建代码生成项的选项ObjectContexts
and EntityObjects
代替DbContexts
and POCOs
.
现在已弃用吗?我看到ObjectContext
类仍然可用,但我无法将其用作 EDMX 的输出。
ObjectContext 并未被弃用。实际上DbContext只是ObjectContext之上的一层。 DbContext API 具有更好/更小的 API,并且更易于使用。 POCO 实体也更加干净。这就是更改代码生成的原因。如果您仍想使用基于 ObjectContext 和 EntityObject 的实体,请删除 *.edmx 文件下的 *.tt 文件。双击 edmx 文件以在设计器中将其打开。单击设计器表面。在属性中将“代码生成策略”从“无”更改为“默认”。
EDIT
VS2013 附带的 EF6 设计器中的行为发生了一些变化(并且可以下载 VS2012)。如果您使用 EF5,则两个选项为:“T4”和“LegacyObjectContext”。如果您使用 EF6,则下拉列表将被禁用。如果您想在 EF6 应用程序中使用 ObjectContext,则需要使用EF6 的实体对象生成器 http://visualstudiogallery.msdn.microsoft.com/66612113-549c-4a9e-a14a-f629ceb3f89a(请注意,此链接仅指向模板的一个版本,但实际上有几个版本,具体取决于您的需要 - C# 与 VB.NET、网站非网站 -是列表)。您可以找到有关 EF6 工具中的更改的更多详细信息here http://blog.3d-logic.com/2013/11/10/what-changed-in-the-ef-tooling-in-visual-studio-2013-and-visual-studio-2012-out-of-band/.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)