c# - 项目上下文对象所需的 Linq 过滤器
问题描述
我正在尝试从 MS Project 中获取过滤列表,并通过使用类似于 contains 的方式过滤名称,以便我们可以返回一组减少的结果进行处理。
projContext.Load(projContext.Projects, qp => qp.Include(qr => qr.Id, qr => qr.Name));
我似乎已经用尽了我所知道的所有选项,并且尝试使用 contains 对我不起作用。
Intellisense 允许这样做。. . (但在运行时不喜欢它)
projContext.Load(projContext.Projects, qp => qp.Include(qr => qr.Id, qr => qr.Name.Contains("myfilter")));
解决方案
.Include()
是一个 EF Query 扩展,其中包含您请求的导航属性,因为 Id 和 Name(由于您没有提供模型类而无法确定)大多数肯定是存储在数据库中的值,您不必包含它们关于您的查询。如果您希望按包含过滤以最小化查询结果,只需在您的查询中添加一个过滤器,如下所示:
projContext.Projects.Where(project => project .Name.Contains("myfilter")));
推荐阅读
- python-2.7 - 用另一个词替换句子中的一个词
- bash - groovy 中的 grep 命令用法
- c# - 你调用的对象是空的。需要帮助
- git - 有没有办法冲突合并同一分支的过去提交?
- python - 在 S3 对象到达时从 Lambda 触发 EMR 上的 python 脚本以及对象详细信息
- javascript - 无论屏幕尺寸如何,如何使字符居中并始终在其周围填充
- go - 就地修改切片类型的映射值
- python - 库代码中的打印语句中的 SyntaxError
- javascript - Redux thunk:等待异步函数调度
- javascript - “未知自定义元素:
- 您是否正确注册了组件?”