![](/img/trans.png)
[英]Generate C# 9 classes from an XML schema file (xsd), including modern features (nullables mostly)
[英]C#: Autogenerating DDL and ORM classes from XML schema (XSD) file
我在这里有一个相当大的 XSD 文件。
我想从文件中生成以下内容:
生成 DDL(对于 PostgreSQL),DDL 应包含适当的初始值,如 XSD 中的“允许”值所指定
生成一个 ORM 将允许我对在步骤 1 中创建的数据库中的记录执行 CRUD 操作
任何人都可以建议一种工具或一系列工具/技术来实现这一目标吗?
如果我必须推出自己的解决方案,有人可以为 XSLT 推荐一个好的教程(最好是一本食谱——因为我已经知道一些 XML/XPath)。
顺便说一句,我在 Windows 上尝试了 xsd.exe - 它失败并打印了一条错误消息,提示 XSD 文件中存在循环引用。 然后我在 mono 上尝试了 xsd.exe,它起作用了——但是创建的文件有一些无效的语句。 我猜测(也许是错误的)xsd.exe 不是实现这两个目标的方法 - 如果我错了,请告诉我。
此外,我查看了Ann Lewkowicz 的 XSLT 转换文件,以从 XSD 文件生成 DDL - 但似乎陷入了无限循环 - 并且还抱怨“无限递归”
所以我需要以下帮助:
我个人会自己编写生成器。 那里可能有很好的发电机,但我还没有看到。 我尝试使用的所有代码(尽管我从未使用 XSD 作为起点)生成糟糕的代码,更糟糕的是,几乎不可能自定义来处理不可避免地出现的每一个怪癖。
这样做比人们想象的要少得多,而且带来了很多好处,尤其是您实际上可以完全控制所生成的内容。 你甚至可以(并且很容易地)将它提升到一个新的水平并在运行时生成这些东西。 如果模式是最终的,则后者几乎没有意义,但如果它不断发展,则可以节省大量时间。
我很确定这不是您希望的答案,如果有人知道适合这项工作的好工具,我也会很感兴趣。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.