使用DataSet.ReadXML(...)加载数据时,DataRowVersion无法正常工作

时间:2011-06-02 16:46:39

标签: c# xml dataset dataview datarowview

所以我整天都在寻找问题所在。如果我不使用XML将数据加载到我的DataSet中(即只是直接从数据库或某些数据库中获取),那么我就没有任何问题。

但是,我必须从XML文件中读取它,我目前正在使用DataSet.ReadXML(...)来实现这一点。 XML是使用DataSet.writeXML编写的(在通过WCF服务通过线路传输之前)。

以下是它的加载方式:

XmlTextReader xmlreader = new XmlTextReader(odhdotnet.GetAllMetadataXML(), XmlNodeType.Element, null);
AllData.ReadXml(xmlreader);

对从XML加载的数据使用DataSet会破坏所有DataView.RowStateFilter功能。

DataViewRowState.ModifiedCurrent不会生成所有已修改行的视图,因为这些行的RowVersion永远不会设置为“current”以外的任何行。

我不知道这里发生了什么,或者为什么会发生这种情况。有任何想法吗?我的感觉是,通过XML加载数据,DataSet由于某种原因缺少什么?

最值得赞赏的任何帮助!

亲切的问候, 河豚

1 个答案:

答案 0 :(得分:1)

您是否尝试过将XmlWriteMode设置为XmlWriteMode.DiffGram