我有C#的数据表。想要在此数据表的列属性上获取不同的行列表。我有一个数据表,列属性为x,y& z。我在该数据表中有两行具有相同的x值。我希望DISTINCT行只基于x Column属性和LINQ综合查询,我将它绑定到模型列表(我有)。
我有一个模特
public class Model
{
public Model(string x)
{
X= x;
}
public int X{ get; set; }
public string Y{ get; set; }
public decimal Z{ get; set; }
}
我坚持使用这个全面的查询。它应该提供不同的List但不能按预期工作。
List<Model> modelList= new List<Model>();
modelList= (from item in response.AsEnumerable()
select new
{
description = DataTableOperationHelper.GetStringValue(item, "description")
}).Distinct().Select(m => new Model(m.description)).ToList();
它给出了一个列表但没有DISTICT值&#39;描述&#39; property.Is有什么我想念的东西吗? 坚持认真。
答案 0 :(得分:-1)
这是因为这段代码
new
{
description = DataTableOperationHelper.GetStringValue(item, "description")
}
创建具有属性的新对象&#34; description&#34;它通过引用而不是&#34;描述&#34;的值进行比较。
试试这个:
ModelList = response.AsEnumerable()
.Select(item=>DataTableOperationHelper.GetStringValue(item, "description"))
.Distinct()
.Select(x => new ConsumablesViewModel(x.description))
.ToList();