我正在研究更新从xsds生成的类的工作。我认为这将是T4模板的一个很好的应用,但我没有看到任何人做过这个的例子。本质上,我想做Linq to XSD所做的事情,但不包括在生产解决方案中包含alpha构建目标。
有相关链接吗?
现在是一个维基。在这里存储您相关的答案。
有相关链接吗?
现在是一个维基。在这里存储您相关的答案。
开源,因此您可以进行调整/修改
用列表或甚至自己的自定义集合类型替换数组
从命令行运行,或作为Visual Studio插件运行(右键单击xsd,告诉它生成)
我还喜欢它可以在单个xsd文件上运行,如果找不到引用的xsd文件(就像xsd.exe一样),它也不会崩溃。因此,如果您只想快速更新一个文件,则可以轻松地在单个文件上运行它。
然而,T4也应该是一个选择,我刚刚搜索了T4 XSD,并找到了一些解决方案来讨论这个问题。
我发现XSD在作为代码生成模型时非常难以使用。它过于灵活和复杂,无法满足我的需求。强类型的DataSet设计器/生成器是试图将XSD用作代码生成模型的一个很好的例子。它大多数情况下都可以正常工作,但不支持您可能会遇到的所有可能的模式。另一方面,XSD无法直接表示生成表适配器所需的信息,因此必须创建特定于DataSet的扩展。
如果您决定继续使用XSD作为模型,您可能希望选择一个简单的子集,足以满足您需要生成的内容。一种方法是将XSD模式加载到DataSet对象中,并使用此DataSet对象作为模型。 DataSet元数据比通用XSD更容易访问。这也将允许您使用Visual Studio中的现有DataSet设计器来编辑您的模型。