【发布时间】:2016-03-13 19:12:56
【问题描述】:
我可以使用 xsd.exe 从 XSD 生成 C# 模型类,但是如果我将验证属性添加到模型属性,下次生成类时我将丢失更改。
仅添加一次验证的最佳做法是什么?
【问题讨论】:
我可以使用 xsd.exe 从 XSD 生成 C# 模型类,但是如果我将验证属性添加到模型属性,下次生成类时我将丢失更改。
仅添加一次验证的最佳做法是什么?
【问题讨论】:
如果您能够在 XML Schema (XSD) 中表示所有验证约束,那么您将受益于所有约束
获得这些好处的最佳实践是使用纯粹的 XML 模式(例如 XSD)来表示所有验证约束。
当开发人员在 XSD 1.0 等 XML 模式中表达的内容遇到困难时,他们通常会选择以下几个方向:
【讨论】:
在尝试使用 .net 针对 XSD 进行编码时,生成类是一种用于提高工作效率的方法。正如您所发现的,它不是一个双向工具。我认为您必须继续分别维护代码和 XSD - 但是您可能会考虑反转您的工作流程 - 从您的类生成 XSD 架构。
XSD.EXE 工具文档说“如果您指定运行时程序集文件(.exe 或 .dll 扩展名),Xsd.exe 会为该程序集中的一种或多种类型生成架构。您可以使用 /type 选项指定为其生成模式的类型。” (https://msdn.microsoft.com/en-us/library/x6c1kb0s(v=vs.110).aspx)
【讨论】: