Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
AsNoTracking() на датасете (если Вам не нужно кеширование\трекание изменений) и получите еще прибавку в производительности: по моим подсчетам раза в 2-3 (на 10к сущностей).Distinct() не работает? На сколько я понимаю, EF реализует Identity Map, так что каждая сущность загрузится только один раз (с одним Primary Key) и стандартный EqualityComparer, который сравнивает референсы, должен сделать свою работу.List<Person> distinctPeople = allPeople
.GroupBy(p => p.PersonId)
.Select(g => g.FirstOrDefault())
.ToList();
List<Person> distinctPeople = allPeople
.GroupBy(p => new {p.PersonId, p.FavoriteColor} )
.Select(g => g.FirstOrDefault())
.ToList();
allPeople
.ToDictionary(p => p.PersonId, p => p)
.Values.ToList();
Зачастую производительность достигается варьированием нагрузки.
Entity Framework и производительность