Я использую ADO.NET EF с использованием кода First. Я использую:C# LINQ Distinct и ADO.NET EF
IList<SoleColor> soleColors = SoleColorService.All().ToList();
Чтобы получить список всех записей в моей SoleColor
таблице. Осталось только отделить этот результат, потому что есть этот столбец - SoleCode
, и мне нужна только одна запись для каждой группы записей в таблице, которые используют тот же SoleCode
. Я просмотрел множество статей по этой теме, но это моя последняя попытка найти решение, которое, как я думаю, должно существовать. Очевидно
IList<SoleColor> soleColors = SoleColorService.All().Distinct.ToList();
не работает по разным причинам, но все еще - soleColors
держит все записи/данные мне нужно. Мне нужен еще один шаг для фильтрации этих записей/данных, чтобы я сохранял только один для каждого SoleCode
. Я не знаю, может ли это быть достигнуто с помощью простого LINQ или каким-либо другим способом. То, что я думаю (как новичок), состоит в том, что это кажется довольно стандартной работой, и не должно быть необходимости реализовывать или переписывать существующие методы, как я видел для решения в разных местах.
Итак - существует стандартный способ для этого. И если нет, по крайней мере мне кажется, что это не что-то редкое, поэтому я предполагаю, что в таких случаях существует общий подход.
PS
Вот код моего лица, связанные с этим:
public class SoleColor : Entity
{
[Required]
public long SoleID { get; set; }
public virtual Sole Sole { get; set; }
//Some code..
[NotMapped]
public string SoleCode
{
get
{
if (Sole == null)
return string.Empty;
return Sole.Code;
}
}
//Some code...
Это, или 'Distinct' с пользовательским' IEqualityComparer '. :) –
@ Trustme-I'maDoctor: Поскольку это происходит в базе данных, я не хочу использовать эту перегрузку. Это зависит от поставщиков. –
Правда, я просто указываю, что есть * возможность *. Я бы использовал указанную вами версию, особенно для «отличной от одного свойства». –