使用LINQ获取表中的独特记录

时间:2018-06-06 05:19:20

标签: c# linq lambda

Table

这是我的桌子。我希望将不同的记录作为唯一的Name,SourceDeviceId,SourceState,Id。由于ID列由唯一的数字组成,因此我获得了所有记录。但我希望得到任何具有相同名称的Id,SourceDeviceId,SourceState。我曾尝试使用GroupBy,但我无法在select语句后选择特定的列。

2 个答案:

答案 0 :(得分:1)

你可以通过几种方式做到这一点,但这可能会有所帮助

$('#add').on('click', function(e){
  $("#DataRow").clone().appendTo("#crud_table");

})

它会根据var result = db.SomeTable.GroupBy(x => new { x.Name, x.SourceDeviceId }) .Select(x => x.First()) .ToList(); Name

返回不同实体的列表

或者如果你想要一个匿名者类型

SerouceDeviceId

答案 1 :(得分:0)

考虑使用Distinct

var result = db.SomeTable.Select(x => new
                {
                   x.Name,
                   x.SourceDeviceId
                })
         .Distinct()
         .ToList();

ToList是可选的 - 您是否需要它取决于您计划如何使用result