有人知道用于从xsd生成类的任何T4模板吗?

时间:2009-08-10 15:12:40

标签: .net xsd code-generation t4

我正在研究一些更新xsds生成的类的工作。我认为这将很好地利用T4模板,但我没有看到任何人这样做的例子。从本质上讲,我想做Linq to XSD所做的事情,但不在生产解决方案中包含alpha构建目标。

那里有相关链接吗?


现在是维基。在此处存储您的相关答案。

3 个答案:

答案 0 :(得分:3)

我目前正在使用xsd2code.net,请在此处找到它:http://xsd2code.codeplex.com/。 很多好处:

  • 开源,所以你可以调整/破解它

  • 将数组替换为列表甚至是您自己的自定义集合类型

  • 从命令行运行,或作为visual studio addin运行(右键单击xsd,告诉生成)

我也喜欢你可以在一个xsd文件上运行它,如果找不到引用的xsd,它就不会爆炸(就像xsd.exe一样)。因此,如果您只想对一个文件进行快速更新,就可以轻松地在单个文件上运行它。

然而,T4也应该是一个选项,我只是用谷歌搜索T4 XSD并找到了一些解决这个问题的解决方案。

答案 1 :(得分:2)

答案 2 :(得分:1)

我发现XSD很难用作代码生成的模型。它太灵活和复杂,不能满足我的需求。强类型DataSet设计器/生成器是尝试使用XSD作为代码生成模型的一个很好的例子。它大部分时间都可以正常工作,但不支持所有可能的模式。另一方面,XSD不能代表直接生成表适配器所需的信息,因此必须创建特定于DataSet的扩展。

如果您决定继续使用XSD作为模型,您可能希望选择一个简单的子集,足以满足您需要生成的内容。一种方法是将XSD架构加载到DataSet对象中,并将此DataSet对象用作模型。与通用XSD相比,DataSet元数据的访问要简单得多。这还允许您使用Visual Studio中的现有DataSet设计器来编辑模型。