在急切加载中过滤导航属性

2023-12-29

我一直在使用软删除,现在我想加载未“删除”的实体的导航属性。我找到了一种方法,这种方法的问题对我来说并不清晰,还有另一种方法可以做到这一点。

Context.CreateSet().Include("Salary").Select(u => new {User= u, Salary = u.Salarys.Where(s => !s.Deleted)}).AsQueryable().Select(a => a.User).AsQueryable();


预加载不支持过滤。您的代码可以简化为:

var users = Context.CreateSet<User>()
                   .Select(u => new {
                       User = u,
                       Salary = u.Salaries.Where(s => !s.Deleted)
                    })
                    .AsEnumerable()
                    .Select(a => a.User);

Include不需要,因为您要用自己的查询替换它并且AsQueryable不需要,因为查询是IQueryable一直到打电话为止AsEnumerable当选择用户和选定的工资时,它将切换到 Linq-to-Objects。 EF 将负责为您正确修复导航属性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在急切加载中过滤导航属性 的相关文章

  • 无法确定存储版本 - 实体框架

    我正在当前解决方案的一个单独的项目中实现代码优先模式 因为我这样做了 所以我初始化了我的连接字符串DbContext我收到这个奇怪的错误 无法确定存储版本 有效的存储连接或 需要版本提示 我正在使用 Entity Framework 5 0
  • 实体框架数据库优先:时间戳列不起作用

    使用数据库优先方法 我希望每当我尝试更新一个 过时的 实体时 我的应用程序都会抛出并发异常 而数据库中的相应行已被另一个应用程序 用户 会话更新 我在 Net 4 5 上使用实体框架 5 相应的表有一个时间戳列来维护行版本 我过去通过向您希
  • 为什么当我更新实体框架模型时 Visual Studio 会删除我的类

    当我更新 EF 模型 版本 5 时 我遇到了一个奇怪的问题 它删除属于该模型的所有类 我的情况是这样的 我更改了两个表的键列 这两个表引用了我的主表 更新模型并未对 edmx 进行这些更改 因此我删除了这三个表 主表和两个查找表 保存了 e
  • 如何在 EF 5.0 中禁用自动表创建?

    我在项目中安装了适用于 Framework 4 0 的 Entity Framework 5 0 RC 但是当我尝试从视图获取数据时出现错误 EF 尝试为此实体创建表 在应用程序启动时使用它来关闭数据库初始化和迁移 Database Set
  • EntityTypeConfiguration如何获取关键属性?

    我正在使用 C EF 5 和 MVC4 我正在使用 EntityTypeConfiguration 设置主键和后端表 public class AuditZoneMap EntityTypeConfiguration
  • 使用实体框架代码优先的 XML 字段

    我将实体框架与 Code First 模型一起使用 宠物项目 我喜欢编辑简单的类并自动更新我的架构 我有一堂课如下 Table Polygons public class Polygon public int PolygonId get s
  • 实体框架性能调优

    我们正在使用实体框架来查询 SQL Server 数据库 LINQ 表达式是 IQueryable 该查询的执行时间大约为 10 秒 如果这是在存储过程中 我会使用查询来提高效率 但是 如果我使用 IQueryable 实体框架本身是否决定
  • 合并两个 EF 查询,无法将 System.Data.Entity.Infrastruct.DbQuery 类型的对象强制转换为 System.Collections.Generic.IEnumerable

    我有两个实体框架查询 每个查询返回两列 并且我想出于绑定原因连接或连接两个查询的结果 我已经尝试过Concat方法 但它抛出 无法转换类型的对象 System Data Entity Infrastructure DbQuery 1 VB
  • 为什么存在“DatabaseGenerateOption.None”?

    这与使用Property gt p HasDatabaseGeneratedOption 称呼 是否可能关闭默认数据库值生成 EF uses DatabaseGeneratedOption找出如何处理新实体的键列的值 如果DatabaseG
  • 在实体框架中自定义类型映射

    我正在使用 EF5 Code First 并尝试存储 IPAddress 对象 如果您尝试直接执行此操作 EF 会将其存储为两列 FIELDNAME Address 和 FIELDNAME Scope 不幸的是 这不足以存储 IPv4 地址
  • 实体框架如何决定是引用现有对象还是创建新对象?

    只是出于我的好奇心 以及未来的知识 Entity Framework 5 如何决定何时创建新对象与引用现有对象 我可能只是做错了什么 但似乎时不时地 如果我做一些类似的事情 using TestDB db new TestDB var cu
  • X 已包含 EntityFramework 的定义 Y? (简单数据库)

    我的 MS SQL 数据库中有 3 个表 并且我已将 EntityFramework 最新 添加到我的项目中 并在其中导入了这 3 个表 第一个问题是没有构建实体 所以我将 代码生成策略 从None to Default 构建后我得到 X
  • 使用 MiniProfiler、EF 5 和 Autofac 分析 DbContext 的正确方法

    The MiniProfiler 站点 http miniprofiler com 给出了用于生成实体框架的以下代码ObjectContext public static MyModel Get var conn new StackExch
  • DbContext.Entry 附加实体

    从我的研究中 我了解到调用 DbContext Entry someEntity 会自动将实体附加到上下文 然而 当我这样做时 我发现实体的状态是分离的 任何人都可以阐明这一点以及 DbContext Entry 的工作原理吗 我正在使用
  • 在实体框架中设置获取大小

    我正在将 ado net 代码转换为使用 EF 在我的 ado net 代码中我设置dataReader FetchSize command RowSize 1000与默认的获取大小相比 这极大 地提高了性能 当我将代码转换为 EF 时 性
  • 实体框架 5 不支持将数据直接绑定到存储查询(DbSet、DbQuery、DbSqlQuery)

    我有一个 devexpress GridControl 我为其设置数据源 如下所示 var regs from vcap in context chaps select vcap gridControl1 DataSource new Bi
  • 创建参数等于对象的 LINQ 表达式

    给定一个原始值age我知道如何创建这样的表达式 assuming age is an int or some other primitive type employee gt employee Age age 通过做这个 var entit
  • 如何手动加载 N:N 关系中的相关实体?

    我正在使用 EF5 当关系为 1 N 时 如果我想加载相关实体 我会执行以下操作 使用 T SQL 我使用如下 T SQL 从数据库加载主要实体 select from MainEntities where 使用 T SQL 我加载相关实体
  • EF5、SQL Server、经度和纬度

    我发现在 SQL Server 中存储纬度和经度的最佳类型是十进制 9 6 参考文献 1 在 SQL 数据库中存储纬度和经度数据时应使用什么数据类型 https stackoverflow com questions 1196415 wha
  • 保存枚举时值不正确

    我在将 Entity Framework 5 枚举映射到迁移中的整数列时遇到了一些困难 代码如下所示 Table UserProfile public class UserProfile public enum StudentStatusT

随机推荐

  • “最终一致性”与“强最终一致性”与“强一致性”?

    我遇到了 强最终一致性 的概念 它是否应该比 最终一致性 强但比 强一致性 弱 有人可以用适用的例子解释这三个概念之间的区别吗 http en wikipedia org wiki Eventual consistency Strong E
  • 如何禁止 easy_install 压缩 Egg?

    我必须投入什么distutils cfg防止easy install安装压缩的egg 压缩是一个很好的想法 但我喜欢能够 grep 并调试该代码 我引入了一些依赖项python setup py develop 仔细观察发现它也接受 alw
  • C# 自定义代码片段函数

    我有一个像这样的代码片段结构 private type lowercaseName public type uppercaseName get return lowercaseName set lowercaseName value 它会生
  • 使用自定义双括号格式进行 Python 模板安全替换

    我正在尝试替换格式中的变量 var 与Python的模板 from string import Template class CustomTemplate Template delimiter pattern r P
  • Qt 如何制作和安装插件?

    我想使用这里提到的 Qt Quick Components for Desktop http labs qt nokia com 2011 03 10 qml components for desktop http labs qt noki
  • 运行时按路径加载共享库

    我正在构建一个 Java 应用程序 该应用程序使用用 C 编写并针对不同操作系统进行编译的共享库 问题是 这个共享库本身依赖于它通常在适当的环境变量下找到的附加库 PATH LIBRARY PATH or LD LIBRARY PATH 我
  • 如何撤消剥离 -即将符号添加回剥离的二进制文件

    我有一个剥离的二进制文件和符号文件 是否可以将符号添加回二进制并创建未剥离的二进制 我的用例是使用这个二进制文件和 valgrind 对于那些不支持单独的调试信息文件的工具 您可以将调试部分粘回原始二进制文件 您可以按照这些思路做一些事情
  • 如何在 Angular API 请求的标头中传递 x-api-key? [复制]

    这个问题在这里已经有答案了 我正在尝试发送x api keyheaders中的header如下图 服务 ts import Injectable from angular core import Http Headers RequestOp
  • 安装 APK 时出现 DELETE_FAILED_INTERNAL_ERROR 错误

    I am using Android Studio 2 2 Preview I am facing the issue 失败 安装失败无效的apk 错误 安装 apk 时 我已经在 build gradle 中进行了更改 但无法重新跟踪它
  • ng-grid 支持虚拟滚动吗?

    我想在我的应用程序中使用 Slickgrid 来实现网格功能 但由于我大部分时间都使用 AngularJS 我认为 ng grid 是可行的方法 但不确定它是否支持虚拟滚动 我尝试查看他们的文档和没有找到任何有关虚拟滚动支持的信息 如果可能
  • 如何在一定时间限制后调用另一个活动

    如何为将一项活动调用另一项活动设定时间限制 我想在给定的时间限制内调用另一个活动 例如 将 A 类呼叫到 B 类 我使用了alarmManager 但我的应用程序不可能也使用线程 每当我给出Thread sleep时 它都不会执行操作 直到
  • 为什么使用单例而不是静态方法?

    对于这些有关帮助器 实用程序类的简单问题 我从未找到好的答案 为什么我要创建一个单例 无状态 而不是使用静态方法 如果对象没有状态 为什么还需要对象实例 通常 单例用于引入某种全局状态到一个应用程序 老实说 这种情况经常超出真正必要的范围
  • 函数声明中缺少“虚拟”限定符

    在搜寻一些旧代码时 我遇到了类似于以下内容的内容 class Base public virtual int Func class Derived public Base public int Func Missing virtual qu
  • 使用 Apache CXF 的 JAX-RS 文件上传

    我正在尝试使用 JAX RS 和 TomEE 的 Apache CXF 实现 2 6 14 上传文件 但上传的文件始终为空 这是代码 POST Path upload Consumes MediaType MULTIPART FORM DA
  • 使用 XAML 将故事板完成时元素的可见性设置为折叠

    我有一个故事板动画 它使用不透明度属性使控件淡出视图 完成后 我想将控件的可见性设置为折叠 我也希望能够执行相反的操作 将可见性设置为可见 然后使用故事板将控件淡入视图中 我知道我可以连接事件 但我想在 XAML 中完成这一切 是否可以 你
  • 如何从 git 存储库加载最新的 Clojure 库

    我想使用最新的开发版本clojure data xml 我正在使用 Leiningen 来管理依赖项 但是 存储库中没有 SNAPSHOT 版本Central http search maven org search 7Cgav 7C1 7
  • Common Lisp 双反引号、反引号、引号、反引号序列?

    我正在阅读 Let Over Lambda 它涉及一些非常深入的分层宏创作 这很有趣 我基本上都能跟上它的步伐 在第 4 章中 Hoyte 为 CL PPCRE 匹配和替换功能实现了读取器宏 这样您就可以执行以下操作 m foo bar d
  • 如何围绕 Web Workers API 编写 Promise 包装器?

    我正在编写一个使用 Web Workers 的库 库的使用者不应该看到任何 Web Worker 的内容 而应该从该库的公共方法返回一个 Promise 如下所示 consumer js const api new Api api doCa
  • timer_create() : -1 EAGAIN(资源暂时不可用)

    我在运行 ARM 的嵌入式 Linux 下创建计时器时遇到问题 我正在使用自制的 C 库来管理计时器 我自己没有编写代码 尽管我可以访问源代码 但我并不深入了解其实现 它工作了一段时间 然后我收到错误 EAGAIN 使用 strace 我注
  • 在急切加载中过滤导航属性

    我一直在使用软删除 现在我想加载未 删除 的实体的导航属性 我找到了一种方法 这种方法的问题对我来说并不清晰 还有另一种方法可以做到这一点 Context CreateSet Include Salary Select u gt new U