【发布时间】:2014-01-23 21:59:28
【问题描述】:
我正在使用 Entity Framework Power Tools Reverse Engineer Code First 从数据库中生成我的 poco 类、映射文件和上下文。我还希望这个过程为每个实体创建我的基本部分验证类。我可以编写 t4 模板,但是当我运行逆向工程师代码优先流程时,有没有办法可以将它硬塞到流程中?
【问题讨论】:
标签: entity-framework-4 ef-power-tools
我正在使用 Entity Framework Power Tools Reverse Engineer Code First 从数据库中生成我的 poco 类、映射文件和上下文。我还希望这个过程为每个实体创建我的基本部分验证类。我可以编写 t4 模板,但是当我运行逆向工程师代码优先流程时,有没有办法可以将它硬塞到流程中?
【问题讨论】:
标签: entity-framework-4 ef-power-tools
我可能误解了您的问题,但如果没有,一种方法是将代码添加到 Entity.tt 并让您的类文件同时包含 POCO 类和您的验证类。它是生成的代码,如果在调用代码中完全不在智能感知范围内,您不应该引用太多。
或者,也许您可以将生成 .tt 文件的新验证类添加到 ReverseEngineerCodeFirst 文件夹,但我没有尝试过,如果运行 ReverseEngineer Code First 并不会真正运行它,我也不会感到惊讶。
【讨论】:
我最近定制了实体框架 PowerTools 来为模型上下文生成一个接口。为此,我添加了一个Interface.tt 模板。您可以通过https://entityframework.codeplex.com/SourceControl/network/forks/khawajaumarfarooq/PowerToolEnhancements查看我的更改。
在对 POCO 类进行逆向工程时,确实必须修改源代码以添加要处理的额外模板。
如果您想生成其他文件并以编程方式将它们包含在项目中,也必须修改源代码,而不是在代码生成完成后自行添加。
【讨论】: