Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用xsd.exe时,我应该选择哪个文件选项,为什么?_C#_Xml_Xsd.exe - Fatal编程技术网

C# 使用xsd.exe时,我应该选择哪个文件选项,为什么?

C# 使用xsd.exe时,我应该选择哪个文件选项,为什么?,c#,xml,xsd.exe,C#,Xml,Xsd.exe,我从第三方供应商处收到了一个xsd文件,用于我们目前收到的一些XML文件。为了处理这些文件,我使用xsd.exe生成了我的类。我看到有两个可用的命令行选项,即: /c[lasses]和 /d[ataset] 我的问题充其量也就是说,我应该选择哪一个选项,为什么 附言: 我已经尝试了这两种方法,但是,目前,/d选项会导致一些关于嵌套表的错误。/c选项确实适用于我,尽管它需要大量数据映射到我的域对象。我认为/d将为您提供一个数据集来处理XML的数据。 /c将生成处理数据所需的类 现在,这是您的选

我从第三方供应商处收到了一个xsd文件,用于我们目前收到的一些XML文件。为了处理这些文件,我使用
xsd.exe
生成了我的类。我看到有两个可用的命令行选项,即:

  • /c[lasses]
  • /d[ataset]
我的问题充其量也就是说,我应该选择哪一个选项,为什么

附言:
我已经尝试了这两种方法,但是,目前,
/d
选项会导致一些关于嵌套表的错误。
/c
选项确实适用于我,尽管它需要大量数据映射到我的域对象。

我认为/d将为您提供一个数据集来处理XML的数据。 /c将生成处理数据所需的类


现在,这是您的选择,您需要将两个选项的数据映射到域对象,imho。

我建议选择“c”选项,因为数据集是有害的。纯粹的邪恶。

使用
/c
数据集
是关系数据库的内存表示形式。并非所有XML模式文件都映射到关系数据库模型。您收到的错误消息无疑是因为您的模式无法映射到关系模型


/c
将生成可以使用
XmlSerializer

从XML文件加载或保存到XML文件的类。您指的是什么“日期”?是的,我知道每个选项将为我提供什么。我的问题与选择哪个选项有关。对不起,我的意思是。。。数据。哪种选择取决于你。我更喜欢使用这个选项来创建类,因为我有更多的控制权。在我的例子中,因为xml文件与任何关系模型都不接近,所以
/c
会是更好的选择吗?但是,为了将来的参考,为了清楚起见,我正确地说,如果xml数据本质上是“关系型”的,请使用
/d
,否则请使用
/c
,在您的情况下,
/c
是唯一的选项。当我说“关系”时,我指的是正式意义上的。例如,严格的父/子/孙。不能有两个不同父母的孩子一样的“孙子”。