我正在研究一些更新xsds生成的类的工作。我认为这将很好地利用T4模板,但我没有看到任何人这样做的例子。从本质上讲,我想做Linq to XSD所做的事情,但不在生产解决方案中包含alpha构建目标。
那里有相关链接吗?
现在是维基。在此处存储您的相关答案。
答案 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设计器来编辑模型。