XML ファイルへの DataSet のシリアル化に問題があります。XML をロードしようとするたびに、ReadXML() 関数が ArgumentNullException をスローします。興味深いことに、この問題は、空のデータセットにロードした場合にのみ発生します。DataSet にテーブルを入力し、XML ファイルから DataSet を読み込んでテーブルを置き換えようとすると、スローされる例外はありません。私の DataTables はリレーションで接続されています。XMLScheme は使用しません。既存のデータセットを置き換えても、XML ファイルが読み込まれないからです。
例外がスローされると、1 つのテーブルが部分的にロードされます。最初のレコードは正しくロードされ、2 番目のレコードは null 値と StrongTypingExceptions で埋められます。
何が起こっているか知っている人はいますか?
//編集:
書き込み:
config.WriteXml(FileName,XmlWriteMode.IgnoreSchema);
読む:
config.ReadXml(FileName,XmlWriteMode.IgnoreSchema);
すべてのモードを試しました。
スキーマが読み取り中の場合:
[System.Data.DataException] {"制約内の無効な 'キー' ノード: FK_SapTable_SapFieldFilter."} System.Data.DataException
リレーション FK_SapTable_SapFieldFilter で接続された 2 つのテーブルがあります。テーブル「SapTable」には、フィールド TableId がキーとしてあります-決してnullではありません。SapFieldFilter の TableId フィールドに接続されます。私の SapFieldFilter は今のところ空のテーブルですが、問題になることはありません。