gpt4 book ai didi

.net - 使用 T4 模板与 EF4.1 简化 API 模型优先方法从模型生成 POCO 类

转载 作者:行者123 更新时间:2023-12-02 00:36:24 25 4
gpt4 key购买 nike

我有视觉设计师创建的模型。现在我想要从中生成 POCO 类。在我的另一个问题中,有人向我建议了 EF4.1 简化 API 模型优先方法。之前我也在考虑T4模板。

与使用 T4 模板生成 POCO 类相比,EF4.1 简化 API Model First 有哪些限制? EF4.1 方法有什么优点(如果有的话)(除了它应该更易于使用)?我现在的决定将很难撤销,因为我将拥有相当大的持久层,因此将来可能很难对其进行更改。

我对以下功能特别感兴趣:

  • 每次更改模型(在可视化设计器中)时,我可以使用这两个选项中的任何一个来生成数据库表,这样我就不必生成查询并运行它们吗?这将大大加快我的开发过程(由于某种原因,我每次更改模型时都必须手动删除表,因此需要花费大量时间)。我知道这可以通过
  • 来完成
  • 我可以在另一个项目中开设 POCO 类(class)吗?我知道这可以是带有 T4 模板的圆顶,但也可以使用简化的 API 实现吗?
  • 生成的 POCO 类中的属性是否可以进行注释,而不会在每次从模型重新生成时被覆盖? (这确实可以通过代码优先的方法实现)
  • 效率有什么区别吗?

如果重要的话,所选择的任何技术都将在 ASP.NET MVC 应用程序中使用。

<小时/>

编辑:如果您知道答案,请回答我的问题的任何子问题。也许与另一个部分答案一起它会给我我需要的信息。谢谢

最佳答案

EF 4.1 提供了简化的 API,这主要是因为 EF 中首次提供了代码优先方法。您所描述的是模型优先方法。

我已经answered similar question但我会尽力回答您的个人问题:

  • DbContext API 的主要限制是缺乏信息。我们知道新功能,但我们仍然不知道如何实现 ObjectContext API 中可用的某些功能(简化可能删除了一些功能)。我不确定这与 DbContext 生成器 T4 模板的模型优先方法有何关系,因为在这种情况下,映射仍然在 EDMX 文件中定义,因此应该克服代码优先映射的一些众所周知的问题。
  • 使用 DbContext API 自动生成数据库。默认情况下,ObjectContext API 仅提供数据库脚本生成,您必须执行该脚本。另一方面,如果您有 VS 2010 Premium 或 Ultimate,则可以下载 Entity designer database generation power pack这将允许您增量构建数据库,而无需每次都删除它。目前 DbContext API 无法做到这一点。
  • 您可以使用这两个 API 在其他项目中拥有 POCO 类(模板)。
  • 是的,即使使用 T4 模板生成 POCO 类 you can use annotations
  • 不,效率没有差异。 DbContext API 只是 ObjectContext API 之上的包装器。

关于.net - 使用 T4 模板与 EF4.1 简化 API 模型优先方法从模型生成 POCO 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5410381/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com