0
我想查詢數據表(dt)並加載第二個dt與數據行的結果集合。很好 - 我們有CopyToDataTable()extn mthd就是爲了這個目的。但是它僅限於DataRows的枚舉,這意味着我不能返回任何其他東西,例如一個匿名類型的集合。 那麼 - 如何修改數據行中的值?LINQ to dataset:CopyToDataTable()
例如我有一個dt與3列:MyPK,VARCHAR01,VARCHAR02。
如果VARCHAR01或VARCHAR02的值爲「」(即String.Empty),我希望將其替換爲NULL(基礎類型允許)。
我會做如下:
var MyCleanedDatarows =
from o in ds.Tables["dt"].AsEnumerable()
select new {
MyPK = o.Field<string>("MyPK"),
VARCHAR01 = (o.Field<string?>("VARCHAR01") == "" ? NULL : o.Field<string?>("VARCHAR01")),
VARCHAR02 = (o.Field<string?>("VARCHAR02") == "" ? NULL : o.Field<string?>("VARCHAR02"))
};
......但後來我不能使用CopyToDataTable()來獲取回DT。我想我需要修改數據行之前調用選擇運算符,但我不知道如何實現這一點。任何幫助/想法都會很愉快地收到。
在此先感謝,
Tamim。