Share via


LINQ to Entities クエリの結果から重複する要素を削除する方法

このトピックでは、Distinct を使用してクエリ結果から重複する要素を削除する方法について説明します。

このトピックの例には、Adventure Works Sales Model が使用されています。このトピックのコードを実行するには、あらかじめプロジェクトに Adventure Works Sales Model を追加し、Entity Framework を使用するようにプロジェクトを構成しておく必要があります。詳細については、「Entity Data Model ウィザードを使用する方法 (Entity Framework)」、または「Entity Framework プロジェクトを手動で構成する方法」、および「Entity Data Model を手動で定義する方法 (Entity Framework)」を参照してください。

Description

この例では、Distinct メソッドを使用して、一意の姓を返します。

コード

Using context As New AdventureWorksEntities()
    Dim contacts = context.Contacts

    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 context = new AdventureWorksEntities())
{
    IQueryable<string> contactsQuery = from c in context.Contacts
                        select c.LastName;

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

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

参照

概念

概念モデルに対するクエリ (Entity Framework)