Учитывая следующий код:
Dataview someView = new DataView(sometable)
someView.RowFilter = someFilter;
if(someView.count > 0) { …. }
Довольно много статей, которые говорят, что Datatable.Select() лучше, чем использование DataViews, но это до VS2008.
Решено: Тайна DataView плохой производительности с большими наборами записей
Массив DataRecord и DataView: драматическая разница в производительности
Googling по этой теме Я нашел несколько статей/форумов, в которых упоминается Datatable.Select() сам по себе довольно глючит (не уверен в этом) и неэффективен в различных сценариях.
На этом (Best Practices ADO.NET) тема на msdn предлагается, что если есть первичный ключ, определенный на datatable, ) или find() следует использовать insted of Datatable.Select().
В этой статье здесь (.NET 1.1) сравниваются все три подхода плюс еще пара. Но это для версии 1.1, поэтому не уверен, что они действительны еще сейчас. Accroding к этому DataRowCollection.Find() превосходит все подходы и Datatable.Select() превосходит DataView.RowFilter.
Итак, я очень смущен тем, что может быть лучшим подходом к поиску строк в datatable. Или нет единого хорошего способа сделать это, в зависимости от сценария существует несколько решений?