2014-05-10 10 views
1

我想明白了什麼處理以下情形的最好辦法是:與反序列化缺失的元素一個DataSet - 需要指定一個默認值

我有我的DataSet的舊序列化實例保存在磁盤上。 我正在DataSet上引入一個新字段。

enter image description here

當DataSet的舊的XML版本的讀取,它們是作爲DBNulls讀入。 它嘗試在嘗試訪問字段中的值時將DBNull強制轉換爲int和barfs。

我希望的行爲是,如果它無法找到序列化數據集中新字段對應的元素,它將默認爲0。

我已經確定的選項是:

(1)無論我嘗試訪問外地,我可以設置一個catch塊(InvalidCastException的),並設置字段的值設置爲0 (2)更改數據集.Designer.cs更改查看DBNulls時的行爲。該文件是自動生成的,但我不認爲它是一個很好的地方進行更改。

我不喜歡(1)或(2),我想知道是否有更優雅的解決方案。

任何建議/幫助將不勝感激!

回答

相關問題