2009-01-12 40 views
0

我想使用ADO.NET數據集來存儲數據庫的過濾副本,以供離線引用。有一些列我需要而不是與我一起。到目前爲止,它看起來像我的選擇是:如何限制DataSet.WriteXML輸出到類型列?

  • 忍受列
  • 獲取unmaintainably高明左右的路上我SELECT行爲DataSet
  • 哈克在XML輸出刪除列

我已經刪除了DataSet設計器中的列條目。 WriteXMl仍然輸出他們,令我沮喪。 如果有辦法將WriteXml的輸出限制爲打印行,我很樂意聽到它。

我試圖過濾列與謹慎SELECT陳述,但結束了ConstraintException我無法解決。用SELECT *代替一個表的查詢做了訣竅。我懷疑如果有足夠的時間我可以解決這個例外。我也懷疑它會在我們演變模式時再次回來。我不想把這樣的維護問題交給我的繼任者。

總而言之,我認爲這將是最簡單的過濾XML輸出。我需要對它進行壓縮,存儲和(稍後)加載,解壓縮,並在稍後將其讀回到DataSet中。過濾XML只是一個步驟 - 更好的是,只需要每週發生一次。

我可以更改DataSet的行爲嗎?我應該過濾XML嗎?有沒有碰到ConstraintException的一些簡單的方法我可以查詢很多,但不是很完美?或者我的方法完全錯誤?我非常感謝你的建議。

UPDATE:原來我copped ConstraintException的原因很簡單:我忘了從一個DataTable中刪除一個強類型的列。它不允許是NULL。當我選擇的所有列時,列除外,值爲NULL,...而且,是的,這是非常令人尷尬的,非常感謝你的提問。

回答