如何:从 LINQ to Entities 查询结果中移除重复元素

本主题提供如何使用 Distinct 从查询结果中移除重复元素的示例。

本主题中的示例基于 Adventure Works 销售模型。若要运行本主题中的代码,则必须已经将 Adventure Works 销售模型添加到了您的项目中,并且已经将项目配置为使用实体框架。有关更多信息,请参见如何:使用实体数据模型向导(实体框架)如何:手动配置实体框架项目如何:手动定义实体数据模型(实体框架)

示例

说明

本示例使用 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);
    }
}

另请参见

概念

查询概念模型(实体框架)