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

使用 ADO.NET 实体框架 可以查询概念模型。 实体框架支持针对概念模型执行以下类型的查询:

查询类型 说明

语言集成查询 (LINQ)

通过 LINQ to Entities,可以使用语言特定的查询运算符对实体数据执行 LINQ 查询。 有关更多信息,请参见 LINQ to Entities

Entity SQL

Entity SQL 是类似于 SQL 的与存储无关的查询语言。 通过 Entity SQL,可以将实体数据作为对象或以表格形式进行查询。 在以下情况下,应考虑使用 Entity SQL:

  • 当查询必须在运行时动态构造时。 在这种情况下,还应考虑使用 ObjectQuery 的查询生成器方法,而不是在运行时构造 Entity SQL 查询字符串。

  • 当您要将查询定义为模型定义的一部分时。 在数据模型中只支持 Entity SQL。 有关更多信息,请参见 QueryView 元素 (MSL)

  • 当使用 EntityClient,通过 EntityDataReader 将只读实体数据返回为行集时。 有关更多信息,请参见用于实体框架的 EntityClient 提供程序

  • 如果您已经是基于 SQL 的查询语言的专家,Entity SQL 可能对您而言是最简单不过了。

查询生成器方法

通过 ObjectQuery 的这些方法,您可以构造与 Entity SQL 相同的查询,而不必构造查询字符串。 因为这些方法始终返回 ObjectQuery,所以,您可以连续地调用方法来生成查询或使用它们来扩展 Entity SQL 查询。 某些方法(如 WhereOrderBy)将 Entity SQL 片段作为参数。 查询生成器方法可以后跟某些 LINQ 标准查询运算符。 有关更多信息,请参见查询生成器方法(实体框架)

本节中的主题说明如何使用 ObjectQuery 类查询概念模型。 有关对概念模型执行 LINQ 查询的更多信息,请参见 LINQ to Entities 中的查询

本节内容

对象查询(实体框架)

加载相关对象(实体框架)

查询生成器方法(实体框架)

直接执行存储命令

如何:执行返回实体类型对象的查询(实体框架)

如何:执行参数化查询(实体框架)

如何:使用导航属性导航关系(实体框架)

如何:使用查询路径调整结果(实体框架)

如何:显式加载相关对象(实体框架)

如何:使用延迟加载来加载相关对象(实体框架)

如何:调用用户定义的函数(实体框架)

如何:筛选数据(实体框架)

如何:对数据进行排序(实体框架)

如何:对数据分组(实体框架)

如何:聚合数据(实体框架)

如何:执行返回匿名类型集合的查询(实体框架)

如何:执行返回基元类型集合的查询(实体框架)

如何:使用特定对象的键返回特定对象(实体框架)

如何:查询 EntityCollection 中的相关对象(实体框架)

如何:对两个查询的联合排序(实体框架)

如何:对查询结果分页(实体框架)

如何:查看存储命令(实体框架)

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

如何:使用存储过程以及 In 和 Out 参数执行查询(实体框架)

如何:查询复杂类型(实体框架)

如何:使用每种类型多个实体集查询对象(实体框架)

如何:查询映射到不同表的实体

如何:直接对数据源执行命令

相关主题

另请参见

概念

使用对象(实体框架)
用于实体框架的 EntityClient 提供程序
LINQ to Entities 中的查询
实体框架资源
定义和管理关系(实体框架)

其他资源

示例应用程序(实体框架)