首页 > 后端开发 > C++ > 如何在实体框架核心中过滤包含的导航属性?

如何在实体框架核心中过滤包含的导航属性?

Patricia Arquette
发布: 2025-01-31 02:51:08
原创
727 人浏览过

How Can I Filter Included Navigation Properties in Entity Framework Core?

>过滤包括EF核心中的导航属性:综合指南

>

>挑战:在实体框架核心中使用Include时,根据嵌套导航属性中的属性过滤主查询可能很棘手。本指南提供了一个解决方案。

解决方案:利用过滤的利用包括

>

>实体框架核心5引入了过滤的Include,这是一种强大的功能,启用了随附的导航属性的过滤。 受支持的操作员包括WhereOrderBy/OrderByDescendingSkipTake

实现过滤的包括: 让我们用一个示例说明:

此查询检索博客及其相关帖子,但仅包括作者名称为“我”的帖子。 注意
<code class="language-csharp">var blogs = context.Blogs
    .Include(blog => blog.Posts.Where(post => post.Author == "me"))
    .ThenInclude(post => post.Author)
    .ToList();</code>
登录后复制
>方法中的

子句。Where> Include

关键因素:

每个导航每个导航

    单个滤波器:
  • 每个导航属性允许使用一个过滤器。
  • 独立谓词:的过滤器被视为独立谓词。 Include
  • 懒惰加载覆盖:过滤包括,无论懒惰加载配置如何。>
  • 累积结果:随后的过滤包括累积结果。

关系修复和过滤包括:>

注意到关系修复。 它可能会在导航属性的集合中增加额外的条目,并有可能导致意外结果。

过滤包括与直接查询过滤:

> 仅影响随附的导航属性,而不是主要查询。 要根据导航属性过滤主查询,请直接在

>或

>上直接使用Filtered Include>。 WhereDbSet>过滤包括和投影:IQueryable>

>投影通常忽略

语句,甚至是过滤的语句。 但是,如果可以将应用于投影中的实体,则仍将应用。

以上是如何在实体框架核心中过滤包含的导航属性?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板