【问题标题】:Adding another t4 template to Reverse Engineer Code First process将另一个 t4 模板添加到逆向工程代码优先流程
【发布时间】:2014-01-23 21:59:28
【问题描述】:

我正在使用 Entity Framework Power Tools Reverse Engineer Code First 从数据库中生成我的 poco 类、映射文件和上下文。我还希望这个过程为每个实体创建我的基本部分验证类。我可以编写 t4 模板,但是当我运行逆向工程师代码优先流程时,有没有办法可以将它硬塞到流程中?

【问题讨论】:

    标签: entity-framework-4 ef-power-tools


    【解决方案1】:

    我可能误解了您的问题,但如果没有,一种方法是将代码添加到 Entity.tt 并让您的类文件同时包含 POCO 类和您的验证类。它是生成的代码,如果在调用代码中完全不在智能感知范围内,您不应该引用太多。

    或者,也许您可​​以将生成 .tt 文件的新验证类添加到 ReverseEngineerCodeFirst 文件夹,但我没有尝试过,如果运行 ReverseEngineer Code First 并不会真正运行它,我也不会感到惊讶。

    【讨论】:

    • 将它添加到 Entity.tt 文件是我最终要做的。我检查了源代码,它似乎在寻找这 3 个文件。让它像你说的那样在该文件夹中拾取所有 *.tt 文件的位置工作可能是一个好主意。
    • 是的,逆向工程实际上很臭 IMNSHO。我最近花了三个小时编写它的本土版本,并且在我不得不放弃并转向其他事情之前已经接近了。
    • 对我来说效果很好。您必须解决一些限制。
    【解决方案2】:

    我最近定制了实体框架 PowerTools 来为模型上下文生成一个接口。为此,我添加了一个Interface.tt 模板。您可以通过https://entityframework.codeplex.com/SourceControl/network/forks/khawajaumarfarooq/PowerToolEnhancements查看我的更改。

    在对 POCO 类进行逆向工程时,确实必须修改源代码以添加要处理的额外模板。

    如果您想生成其他文件并以编程方式将它们包含在项目中,也必须修改源代码,而不是在代码生成完成后自行添加。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多