Ich muss den DateTimeMode einiger Spalten in einem bereits gefüllten Dataset ändern. (Ich will nicht, es zu ändern, bevor es aufgefüllt wird, wie es in mehreren Verfahren through die Anwendung die Änderungen bedeuten würde.)Ändern des DateTimeMode einiger Spalten in einer Datentabelle, nachdem sie mit Daten gefüllt wurde
Hier ist die Anw I (für eine einzelne Spalte) verwende:
copy.Tables[0].Columns["DateColName"].DateTimeMode = DataSetDateTime.Utc;
Es wird jedoch ein Fehler ausgegeben, dass Sie den DateTimeMode nicht ändern können, wenn das Dataset Daten enthält. Also die Lösung, die ich denke, erstellt einen Klon des Datasets, ändert den DateTimeMode der erforderlichen Spalten und lädt dann die Daten zurück.
DataSet copy = dsdata.Clone();
copy.Tables[0].Columns["DateColName"].DateTimeMode = DataSetDateTime.Utc;
copy.Load(dsdata.CreateDataReader(), LoadOption.OverwriteChanges, "TableName");
Gibt es einen besseren Weg, dies zu tun?