EntityFrameworkQueryableExtensions.Include 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
Include<TEntity,TProperty>(IQueryable<TEntity>, Expression<Func<TEntity,TProperty>>) |
指定要包含在查询结果中的相关实体。 要包含的导航属性从 () 查询 |
Include<TEntity>(IQueryable<TEntity>, String) |
指定要包含在查询结果中的相关实体。 要包含的导航属性从 () 查询 |
Include<TEntity,TProperty>(IQueryable<TEntity>, Expression<Func<TEntity,TProperty>>)
指定要包含在查询结果中的相关实体。 要包含的导航属性从 () 查询 TEntity
实体的类型开始指定。 如果希望基于所包含类型的导航属性包含其他类型,请在此调用后链接对 的 ThenInclude<TEntity,TPreviousProperty,TProperty>(IIncludableQueryable<TEntity,
IEnumerable<TPreviousProperty>>, Expression<Func<TPreviousProperty,
TProperty>>) 调用。
public static Microsoft.EntityFrameworkCore.Query.IIncludableQueryable<TEntity,TProperty> Include<TEntity,TProperty> (this System.Linq.IQueryable<TEntity> source, System.Linq.Expressions.Expression<Func<TEntity,TProperty>> navigationPropertyPath) where TEntity : class;
static member Include : System.Linq.IQueryable<'Entity (requires 'Entity : null)> * System.Linq.Expressions.Expression<Func<'Entity, 'Property>> -> Microsoft.EntityFrameworkCore.Query.IIncludableQueryable<'Entity, 'Property (requires 'Entity : null)> (requires 'Entity : null)
<Extension()>
Public Function Include(Of TEntity As Class, TProperty As Class) (source As IQueryable(Of TEntity), navigationPropertyPath As Expression(Of Func(Of TEntity, TProperty))) As IIncludableQueryable(Of TEntity, TProperty)
类型参数
- TEntity
正在查询的实体的类型。
- TProperty
要包含的相关实体的类型。
参数
- source
- IQueryable<TEntity>
源查询。
- navigationPropertyPath
- Expression<Func<TEntity,TProperty>>
表示要包含在) (t => t.Property1
导航属性的 lambda 表达式。
返回
包含相关数据的新查询。
例外
source
或 navigationPropertyPath
为 null
。
示例
以下查询显示包括单个级别的相关实体:
context.Blogs.Include(blog => blog.Posts)
以下查询显示在同一分支上包括两个级别的实体:
context.Blogs
.Include(blog => blog.Posts).ThenInclude(post => post.Tags)
以下查询显示包含相关数据的多个级别和分支:
context.Blogs
.Include(blog => blog.Posts).ThenInclude(post => post.Tags).ThenInclude(tag => tag.TagInfo)
.Include(blog => blog.Contributors)
以下查询显示使用强制转换在派生类型上包括单个级别的相关实体:
context.Blogs.Include(blog => ((SpecialBlog)blog).SpecialPosts)
以下查询显示使用“as”运算符在派生类型上包括单个级别的相关实体:
context.Blogs.Include(blog => (blog as SpecialBlog).SpecialPosts)
注解
有关详细信息和示例,请参阅 加载相关实体 。
适用于
Include<TEntity>(IQueryable<TEntity>, String)
指定要包含在查询结果中的相关实体。 要包含的导航属性从 () 查询 TEntity
实体的类型开始指定。 可以追加要包含的更多导航属性,并用“.”字符分隔。
public static System.Linq.IQueryable<TEntity> Include<TEntity> (this System.Linq.IQueryable<TEntity> source, string navigationPropertyPath) where TEntity : class;
static member Include : System.Linq.IQueryable<'Entity (requires 'Entity : null)> * string -> System.Linq.IQueryable<'Entity (requires 'Entity : null)> (requires 'Entity : null)
<Extension()>
Public Function Include(Of TEntity As Class) (source As IQueryable(Of TEntity), navigationPropertyPath As String) As IQueryable(Of TEntity)
类型参数
- TEntity
正在查询的实体的类型。
参数
- source
- IQueryable<TEntity>
源查询。
- navigationPropertyPath
- String
要包括的“.”分隔导航属性名称的字符串。
返回
包含相关数据的新查询。
例外
source
或 navigationPropertyPath
为 null
。
navigationPropertyPath
为空或空格。
示例
以下查询显示包括单个级别的相关实体:
context.Blogs.Include("Posts")
以下查询显示在同一分支上包括两个级别的实体:
context.Blogs.Include("Posts.Tags")
以下查询显示包含相关数据的多个级别和分支:
context.Blogs
.Include("Posts.Tags.TagInfo')
.Include("Contributors")
注解
有关详细信息和示例,请参阅 加载相关实体 。