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

时间:2011-03-24 16:19:37

标签: c# .net entity-framework t4 entity-framework-4.1

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

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

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

感谢您的回答


注意:这不是问题Generate POCO classes in different project to the project with Entity Framework model的重复,因为作者只想要我不想要的东西:将整个模板与生成的类一起移动。

我完全理解移动整个模板并不意味着其他项目将成为持久性意识。尽管如此,我仍然有理由不在POCO课程的同一个项目中使用它。

1 个答案:

答案 0 :(得分:2)

共享相同模板的多个项目

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

  1. 创建解决方案文件夹
  2. 将我的代T4模板放入其中并将其扩展名设置为 ttinclude
  3. 在需要的地方为我的项目添加其他T4模板,但 tt 扩展名
  4. 根据模板功能,他们可能只需引用共享的 ttinclude 模板,就像我用来生成枚举类型的数据库查找表的this example of mine一样;
  5. 如果您使用提供的模板,则必须稍微修改它们才能使其正常工作,因为它们必须在与默认位置不同的位置引用EDMX文件。您也可以将此路径作为您在每个项目模板中覆盖的局部变量提供,这样它将使用重写路径而不是 ttinclude 文件中定义的默认路径。