Поделиться через


Как удалить повторяющиеся элементы из результатов запроса LINQ to Entities

В данном разделе приводится пример удаления повторяющихся элементов из результатов запроса с помощью ключевого слова Distinct. Примеры в этом разделе основаны на модели Adventure Works Sales. Чтобы запустить код, используемый в данном примере, нужно сначала добавить к проекту модель AdventureWorks Sales и настроить его для использования платформы Entity Framework. Для этого выполните инструкции из разделов Как вручную настроить проект Entity Framework и Как определить модель EDM вручную (платформа Entity Framework). Для определения модели AdventureWorks Sales можно также использовать мастер моделей EDM. Дополнительные сведения см. в разделе Как использовать мастер моделей EDM (платформа Entity Framework).

Примеры

Описание

В данном примере используется метод Distinct для возвращения неповторяющихся фамилий.

Код

Using AWEntities As New AdventureWorksEntities()
    Dim contacts = AWEntities.Contact

    Dim contactsQuery = _
        From c In contacts _
        Select c.LastName

    Dim distinctNames = contactsQuery.Distinct()

    For Each name In distinctNames
        Console.WriteLine("Name: " + name)
    Next
End Using
using (AdventureWorksEntities AWEntities = new AdventureWorksEntities())
{
    ObjectQuery<Contact> contacts = AWEntities.Contact;
    IQueryable<string> contactsQuery = from c in contacts
                        select c.LastName;

    IQueryable<string> distinctNames = contactsQuery.Distinct();

    foreach (string name in distinctNames)
    {
        Console.WriteLine("Name: {0}", name);
    }
}

Компиляция кода

Примеры в этом разделе содержат ссылки на объекты и пространства имен, определенные в образце проекта в разделе Как создать проект LINQ to Entities в среде Visual Studio. Чтобы скомпилировать и запустить один из этих примеров, вставьте его в метод Main.

См. также

Другие ресурсы

Запросы к модели EDM (задачи Entity Framework)