所以我花了一整天的时间来寻找问题所在。如果我不使用XML将数据加载到我的数据集中(即直接从数据库或类似的数据库中获取数据),那么我就没有任何问题。
但是,我必须从XML文件中读取它,并且我目前正在使用DataSet.ReadXML(…)来实现这一点。XML是使用DataSet.writeXML编写的(在WCF服务通过有线传输之前)。
以下是加载方式:
XmlTextReader xmlreader = new XmlTextReader(odhdotnet.GetAllMetadataXML(), XmlNodeType.Element, null);
AllData.ReadXml(xmlreader);
将数据集与从XML加载的数据一起使用会中断所有DataView.RowStateFilter功能。
DataViewRowState.ModifiedCurrent不会生成所有修改行的视图,因为这些行的RowVersion从未设置为"current"以外的任何值。
我不知道这里发生了什么,也不知道为什么会发生。有什么想法吗?我的感觉是,通过XML加载数据,数据集由于某种原因缺少了什么?
非常感谢您的帮助!
谨致问候,Fugu
是否尝试将XmlWriteMode
设置为XmlWriteMode.DiffGram
?