如何配置T4模板以在不同的项目中生成类

Ras*_*sto 7 .net c# t4 entity-framework entity-framework-4.1

我正在使用新的Entity Framework 4.1模型第一种方法,它利用T4模板从可视化模型生成类.

我可以配置T4模板来在另一个项目中创建POCO类和Context类(或者通常是它们生成的任何内容)吗?

请注意,我不想将T4模板(带有.tt的文件)移动到另一个项目,然后只需将模板更改为持久性项目中的EDMX文件.我希望它真的在另一个项目中生成那些类,然后是模板的位置.那可能吗 ?

谢谢你的回答


注意:这不是问题的重复在使用Entity Framework模型的项目的不同项目中生成POCO类作为作者我想要的不是:将整个模板与生成的类一起移动.

我完全理解移动整个模板并不意味着另一个项目将成为持久性意识.不过,我有理由为什么我不希望它与POCO课程在同一个项目中.

Rob*_*nik 2

多个项目共享相同的模板

每当我使用共享 T4 模板时,我:

  1. 创建解决方案文件夹
  2. 将我的生成T4模板放入其中并将其扩展名设置为ttinclude
  3. 在需要的地方向我的项目添加额外的 T4 模板,但带有tt扩展名
  4. 根据模板功能,他们可能只需要引用共享的ttinclude模板,就像我的这个示例一样,我用它来生成数据库查找表的枚举类型;

如果您使用提供的模板,则必须对它们进行一些修改才能使其正常工作,因为它们必须在与默认位置不同的位置引用 EDMX 文件。您还可以提供此路径作为本地变量,在每个项目模板中覆盖该路径,以便它将使用覆盖的路径而不是 ttinclude 文件中定义的默认路径