【发布时间】:2017-06-01 11:44:34
【问题描述】:
我正在开发一个使用 MSLinqToSQLGenerator 生成反映数据库的部分类的项目。它生成单个文件(Database.designer.cs),其中包含许多反映表和存储过程等的部分类。
Database.designer.cs 文件本质上是这样的:
namespace Name.Space
{
public partial class SomeClass1
{
// stuff
}
public partial class SomeClass2
{
// stuff
}
public partial class SomeClass3
{
// stuff
}
}
现在,该项目的另一部分使用 Visual Studio 的 Typewriter 扩展来从类中自动生成 Typescript 文件。现在,Typewriter 采用一个文件对一个文件的原则,这意味着我不能将一个 .cs 文件中的多个类分成单独的 .ts 文件(这基本上是我所需要的)。
所以我想到了使用 T4 模板来做以下事情:
- 读取
Database.designer.cs文件的内容 - 获取所有部分类的列表
- 为每个类 (
<class-name>.cs) 生成一个仅包含以下代码的新文件
namespace Name.Space
{
public partial class SomeClass1
{
//
}
}
这样,打字机将能够读取单个 .cs 文件并生成适当的 .ts 文件。
我需要的是特定的 T4 代码来读取 Database.designer.cs 文件并将每个类输出到自己的文件中。
(我尝试过教程,我尝试过代码示例,但我得到的只是一个头痛和突然想要改变我的职业道路的愿望......)
【问题讨论】:
-
现在是 2017 年,你为什么还在使用 linq-to-sql? EF 代码已经先执行此操作了。
-
这是一个合作项目,不是我的决定……我已经要求从那个项目转向现代的东西。
-
他们在 2016 年 12 月 28 日开始支持paratial。
标签: c# linq-to-sql t4 auto-generate typewriter