如何:从 LINQ to Entities 查询结果中删除重复元素
本主题提供如何使用 Distinct 从查询结果中删除重复元素的示例。本主题中的示例基于 Adventure Works 销售模型。若要运行本示例中的代码,必须已将 AdventureWorks 销售模型添加到您的项目中,并将项目配置为使用 实体框架。为此,请完成如何:手动配置实体框架项目和如何:手动定义实体数据模型(实体框架) 中的过程。也可以使用实体数据模型向导定义 AdventureWorks 销售模型。有关更多信息,请参见如何:使用实体数据模型向导(实体框架)。
示例
说明
本示例使用 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);
}
}
编译代码
本主题中的示例包含对在如何:在 Visual Studio 中创建 LINQ to Entities 项目的示例项目中定义的对象和命名空间的引用。若要编译和运行其中某个示例,请将其粘贴到 Main 方法中。