我想使用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
,...而且,是的,這是非常令人尷尬的,非常感謝你的提問。