LINQ to DataSet, отличающийся несколькими столбцами

Просто хотел проверить, есть ли способ сделать разные столбцы. Спасибо заранее.

BTW, я нашел отличное расширение LINQ here, но для его использования нужно несколько советов по использованию нескольких столбцов.

Ответ 1

Ну, сначала вы можете сделать проецирование:

var qry = db.Customers.Select(cust => new {cust.ID, cust.Name, cust.Region})
                    .Distinct();

Или в синтаксисе запроса:

var qry = (from cust in db.Customers
          select new {cust.ID, cust.Name, cust.Region}).Distinct();

Что делать?

Ответ 3

В разделе "Различают несколько столбцов", что вы действительно имеете в виду, это группа.

Когда вы запрашиваете разницу, это означает, что вы получаете ВСЕ отдельные строки или группу, используя все столбцы в таблице.

Если вы хотите получить только отдельные группы для подмножества столбцов, используйте группу в своем предложении, указав столбцы для группировки. Затем выберите группы, так как вам нужен только один набор ключей для каждой группы.

Ответ 4

Еще один простой способ - создать отдельную строку.

var result = collection.DistinctBy(c => c.Field1 + "." + c.Field2 + "." + c.Field3);

Ответ 5

var qry = (от cust в db.Customers         выберите новый {cust.ID, cust.Name, cust.Region}). GroupBy (x = > new {x.Name, x.Region}). select (z = > z.OrderBy(i = > i.cust)..FirstOrDefault()) ToList();