7

我正在使用新的实体框架 4.1 模型优先方法,该方法利用 T4 模板从可视模型生成类。

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

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

谢谢你的回答


注意:这与在不同项目中生成 POCO 类与使用实体框架模型的项目的问题不重复,因为作者想要我不想要的:将整个模板与生成的类一起移动。

我完全理解移动整个模板并不意味着其他项目将变得具有持久性意识。尽管如此,我还是有理由不希望它与 POCO 类在同一个项目中。

4

1 回答 1

2

多个项目共享相同的模板

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

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

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

于 2011-03-25T10:04:30.130 回答