Я пытаюсь использовать выражение LINQ для преобразования каждой строки в DataTable в запись в объекте List.Метод выбора DataTable «не предназначен для использования»?
Мой код:
DataTable dataTable = dataSet.Tables[0];
var intList = new List<int>(dataTable.AsEnumerable().Select(row => int.Parse(row["IntColumn"].ToString())));
Это на самом деле работает, когда я запускаю код, но я обеспокоен тем, что, когда я наведите курсор мыши на мое использование .select() Я вижу это (Примечание: Я использую ReSharper 8.2.2000.5102):
Та часть, которая касается меня это, «Этот API поддерживает платформу .NET Framework инфраструктуру и не предназначен для использования непосредственно из вашего кода.»
Мой вопрос: как мне это сделать, если я не должен использовать реализацию EnumerableRowCollection .Select()?
Возможно вставить '.ToList()' между перечислимым и select. –
@RonBeyer Это работает наверняка, но все же кажется странным, что я должен был бы это сделать. –
Похоже, что это не '.Select', который считается API, его' EnumerableRowCollection' сам. Вы также можете преобразовать это в запрос LINQ, что-то вроде 'var intList = (от r в dataTable.AsEnumerable() выберите int.Parse (r [" IntColumn "]. ToString())). ToList()', который должен устранить предупреждение также. –