datatable.AsEnumerable не работает (базовый пример)

Dim x = From row In f_table.AsEnumerable()
                    Select row("Crop")

Из того, что я понимаю, "f_table.AsEnumerable" должен сделать мой поисковый объект (в данном случае "row") объектом datarow. Этот простой пример выполняется без каких-либо исключений, но не находит никаких записей (этот поиск работает, если я переключаюсь на массив datarows, которые были взяты из f_table вместо f_table.AsEnumerable).

Любые идеи, почему AsEnumerable не позволяет искать строки таблицы?

Отредактировано / добавлено: Вот что у меня есть, где "emptyrows" - это подмножество массивов строк из f_table.

Dim emptyrows_grouped = From row In emptyrows
                                Order By row("Date"), row("Time")
                                Group By New With {.date = row("Date")}.date,
                                         New With {.crop = row("Crop")}.crop
                                Into Group

То, что я хочу, это эта форма:

Dim emptyrows_grouped = From row In f_table.AsEnumerable
                                Where row.Field(Of String)("SamplePosition") Like "Emp%"
                                Order By row("Date"), row("Time")
                                Group By New With {.date = row("Date")}.date,
                                         New With {.crop = row("Crop")}.crop
                                Into Group

2 ответа

Это работает так:

 Dim query = dt.AsEnumerable
             .Where(Function(dr) dr("column name").ToString = "something").ToList

Это дает список DataRows, где этот столбец имеет значение "что-то"

Группа по:

 Dim query = dt.AsEnumerable
             .Where(Function(dr) dr("column name").ToString = "something")
             .GroupBy(Function(dr) dr("column name"))

Не берите в голову - я гигантский дурак сегодня, потому что f_table - неправильный источник данных. Я использовал правильный, и это сработало.

Dim emptyrows_grouped = From row In file_table.AsEnumerable
                                Where row.Field(Of String)("SamplePosition") ="Empty"
                                Order By row("Date"), row("Time")
                                Group By New With {.date = row("Date")}.date,
                                         New With {.crop = row("Crop")}.crop
                                Into Group

Пожалуйста, извините, что я терял ваше время!!

Другие вопросы по тегам