Выберите отдельные строки из datatable в Linq
Я пытаюсь получить различные строки на основе нескольких столбцов (attribute1_name, attribute2_name) и получить datarows из datatable с использованием Linq-to-Dataset.
![Снимок экрана]()
Мне нужны такие результаты
attribute1_name attribute2_name
-------------- ---------------
Age State
Age weekend_percent
Age statebreaklaw
Age Annual Sales
Age Assortment
Как сделать тонкий набор данных Linq-to-dataset?
Ответы
Ответ 1
Если это не типизированный набор данных, то вы, вероятно, захотите сделать что-то подобное, используя методы расширения Linq-to-DataSet:
var distinctValues = dsValues.AsEnumerable()
.Select(row => new {
attribute1_name = row.Field<string>("attribute1_name"),
attribute2_name = row.Field<string>("attribute2_name")
})
.Distinct();
Убедитесь, что у вас есть оператор using System.Data;
в начале вашего кода, чтобы включить методы расширения Linq-to-Dataset.
Надеюсь, это поможет!
Ответ 2
Как это: (Предполагая типизированный набор данных)
someTable.Select(r => new { r.attribute1_name, r.attribute2_name }).Distinct();
Ответ 3
var Test = (from row in Dataset1.Tables[0].AsEnumerable()
select row.Field<string>("attribute1_name") + row.Field<int>("attribute2_name")).Distinct();
Ответ 4
Отметьте эту ссылку
получить отдельные строки из datatable с помощью Linq (отличные от столбцов с несколькими столбцами)
Или попробуйте это
var distinctRows = (from DataRow dRow in dTable.Rows
select new { col1=dRow["dataColumn1"],col2=dRow["dataColumn2"]}).Distinct();
РЕДАКТИРОВАТЬ: Помещается отсутствующая первая фигурная скобка.
Ответ 5
Dim distinctValues As List(Of Double) = (From r In _
DirectCast(DataTable.AsEnumerable(),IEnumerable(Of DataRow)) Where (Not r.IsNull("ColName")) _
Select r.Field(Of Double)("ColName")).Distinct().ToList()
Ответ 6
Мы можем получить отличный от приведенного ниже пример
//example
var distinctValues = DetailedBreakDown_Table.AsEnumerable().Select(r => new
{
InvestmentVehicleID = r.Field<string>("InvestmentVehicleID"),
Universe = r.Field<string>("Universe"),
AsOfDate = _imqDate,
Ticker = "",
Cusip = "",
PortfolioDate = r.Field<DateTime>("PortfolioDate")
} ).Distinct();