我有一個數據集(以下稱爲dataSet),其中包含一個表和一些記錄。其中一列稱爲消息幷包含錯誤消息。如果有任何記錄在此字段中有值,我想將其複製到一個錯誤數據集(errorDataSet下面)中,然後將其從原始數據集中刪除。我設法與LINQ遠得到這樣的:如何使用LINQ從數據集中刪除記錄
DataSet errorDataSet = dataSet.Copy();
//find all records that have a Message column value
var query = from row in errorDataSet.Tables[0].AsEnumerable()
where !String.IsNullOrEmpty(row.Field<string>("Message"))
select row;
DataSet tempErrorDataSet = errorDataSet.Clone();
foreach (var row in query)
{
tempErrorDataSet.Tables[0].Clear();
tempErrorDataSet.Tables[0].ImportRow(row);
utility.WriteError(connectorName, row["Message"].ToString(), tempErrorDataSet);
//remove the error row from the good data
dataSet.Tables[0].Rows.Remove(row);
}
底線拋出一個異常,或者我得到關於修改的集合等。我敢肯定有在LINQ這樣做的一個簡單的方法錯誤。
注意:我有tempErrorDataSet的原因是我將它轉換爲XML並將其傳遞到一個存儲過程 - 它只以一種格式記錄一次,因此我每次都清除它。
什麼是你得到的錯誤,異常等? – gideon 2012-02-23 04:56:10
關於從集合中刪除項目的例外情況,但是我想用LINQ完全重寫這段代碼,按照我的問題(這不是例外) – Rodney 2012-02-23 20:48:37