J'essaie d'obtenir des lignes distinctes en fonction de plusieurs colonnes (nom_attribut, nom_attribut) et d'obtenir des datarows depuis datatable à l'aide de Linq-to-Dataset.
Je veux des résultats comme celui-ci
attribute1_name attribute2_name
-------------- ---------------
Age State
Age weekend_percent
Age statebreaklaw
Age Annual Sales
Age Assortment
Comment faire de linq-to-dataset mince?
Si ce n'est pas un ensemble de données typé, vous voudrez probablement faire quelque chose comme ceci, en utilisant les méthodes d'extension 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();
Assurez-vous que vous avez une instruction using System.Data;
au début de votre code afin d'activer les méthodes d'extension Linq-to-Dataset.
J'espère que cela t'aides!
Comme ceci: (en supposant un ensemble de données typé)
someTable.Select(r => new { r.attribute1_name, r.attribute2_name }).Distinct();
var Test = (from row in Dataset1.Tables[0].AsEnumerable()
select row.Field<string>("attribute1_name") + row.Field<int>("attribute2_name")).Distinct();
Vérifiez ce lien
Obtenir des lignes distinctes de datatable avec Linq (distinctes avec plusieurs colonnes)
Ou essayez ceci
var distinctRows = (from DataRow dRow in dTable.Rows
select new { col1=dRow["dataColumn1"],col2=dRow["dataColumn2"]}).Distinct();
EDIT: Placé la première accolade manquante manquante.
Nous pouvons obtenir le distinct similaire à l'exemple ci-dessous
//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();
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()