选择DataTable行,按GUID过滤

时间:2009-09-28 08:23:36

标签: c# linq datatable filter guid

我有一个带GUID的非主键列(带有DataType System.Guid)和it appears你不能在该列上使用DataTable.Select。 (只有DataRowCollection.Find,但它需要GUID为主键列,这不是我的情况)

无论如何,我需要获得那一行WHERE UniqueId = *GUID*

也许有一些LINQ技巧可以完成这项工作?

1 个答案:

答案 0 :(得分:0)

您可以尝试这样的事情:

C#:

var filteredRows = from dtr in yourDataTable.Rows
                   where ((System.Guid)dtr["MyGuidColumn"]) == myFilterGuid
                   select dtr;

VB:

Dim filteredRows = From dtr In yourDataTable.Rows _
                   Where DirectCast(dtr("MyGuidColumn"), System.Guid) = myFilterGuid _
                   Select dtr