Вы не можете выполнять запросы к коллекции DataTable
Rows , поскольку DataRowCollection
не реализует IEnumerable<T>
. Вам нужно использовать расширение AsEnumerable()
для DataTable
. Вот так:
var results = from myRow in myDataTable.AsEnumerable()
where myRow.Field<int>("RowNo") == 1
select myRow;
И, как говорит Кит, вам нужно добавить ссылку на System.Data.DataSetExtensions
AsEnumerable()
возвращает IEnumerable<DataRow>
. Если вам нужно преобразовать IEnumerable<DataRow>
в DataTable
, используйте расширение CopyToDataTable()
.
Ниже приведен запрос с лямбда-выражением,
var result = myDataTable
.AsEnumerable()
.Where(myRow => myRow.Field<int>("RowNo") == 1);