Если у вас много данных, хорошей идеей является применение фильтра к базе данных (выбирая только точное количество нужных вам записей) или к вашему запросу к базе данных. Например, если у вас есть 3 миллиона записей, и вы показываете только 50 записей одновременно, хорошая загрузка только 50 нужных вам записей и использование методов LINQ .Skip (). Take () на странице - хорошая идея. Если вы решите использовать хранимые процедуры, это тоже жизнеспособно, и SP работает в LINQ и DataTable.
Фильтры, возможно, сложнее применить за пределами базы данных; это может быть легко сделано в таблицах данных или LINQ. Это зависит от того, насколько легко или сложно потребуется применить фильтры, легко ли их применить в запросе к БД или нужно ли применять фильтры в коде, загружая все данные и просматривая циклы.
Независимо от того, используете ли вы DataTables или LINQ, любой из них является жизнеспособным подходом. LINQ - это новейшая технология, и она остается здесь; Наборы данных будут доступны некоторое время, но не ожидайте каких-либо новых возможностей набора данных, потому что ADO.NET Entity Framework - это новый набор данных.
Надеюсь, это имеет какой-то смысл.