问题标签 [predicatebuilder]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4042 浏览

c# - 具有两个表的谓词生成器

在此处输入图像描述

一个Party可以有一个或多个Contact对象。

我想选择所有街道名称中包含特定关键字的缔约方。
如果我只想在派对中搜索,我可以使用下面的代码。但是如何将其扩展为也在Contact中搜索?

你还有什么需要知道的吗?

编辑
我想我可以创建另一个谓词,然后加入它们。就像是:

...在 foreach 中:

但是在返回之前我将如何加入 predicate 和 predicate2 呢?

EDIT2或者,在做谓词生成器之前
加入派对联系人?

EDIT3
以下是生成的类的一部分:

0 投票
1 回答
648 浏览

c# - 如何从谓词对象中删除重复项?

让我解释清楚,

我没有搜索字符串,我的列表包含不同的字段。

现在我将一次不给出任何搜索字符串,然后我的谓词将使用搜索字符串搜索列表中的每一项。

比赛结束后,我将得到一个谓词对象。

对于搜索的下一次迭代,我将获得另一个谓词,它可能是列表中的同一项目,因为我没有在列表的同一字段上进行搜索。

因此,在收到所有谓词对象后,我将它们组合起来并将其分配给单个对象。

但我遇到了一个例外。

该怎么办?如何删除重复值?

0 投票
3 回答
18759 浏览

c# - 如何动态创建谓词

您好我想使用谓词表达式基于搜索字符串创建一个列表。

我有一个包含不同名称的类型产品列表。

现在我想根据用户输入过滤内容。用户将输入 n 个以“+”作为分隔符的字符串。收到字符串后,我会将它们传递给这样的谓词对象

如果我输入多个字符串(sowmya+jane+john),它只给出最后一个字符串(john)结果,但我想要一个所有匹配字符串的列表

请回答这个问题,因为我正在尝试这个,但我无法得到结果。

请帮忙谢谢。

0 投票
1 回答
3778 浏览

vb.net - PredicateBuilder、VB.net 和 Where()

我正在使用 LinqKit 库中的 PredicateBuilder 类在 VB.net 中构建谓词。我的数据源是手动构建的数据表。我发现的所有示例都显示人们创建谓词,然后将该谓词作为参数传递给Where()datatable.AsEnumerable() 上的方法。

但是智能感知告诉我该Where()方法采用“”类型的参数System.Func,但 PredicateBuilder 返回的类型是“ System.Linq.Expressions.Expression(Of Func(Of T, Boolean))

我错过了什么?

例子:

0 投票
1 回答
1395 浏览

c# - 在运行时动态附加多个 linq 表达式

我有两个类似的方法,它们采用标准对象(具有属性列表的哑对象),在该标准对象上调用“CreateExpression”方法,然后使用返回的表达式来过滤结果。

我的一个例子只有一个标准的论点,它没有问题。我的第二种方法采用 aList<Criteria>然后尝试遍历列表中的每个条件,并为其生成表达式,然后将其“和”到前一个表达式。最终结果应该是一个大表达式,然后我可以在我的 linq 查询中使用它。

但是,这第二种方法不起作用。当我使用调试器时,我可以在内部看到谓词及其主体和 lambda 表达式,但是当它到达 SQL 服务器时,它发送的只是一个完全没有 where 子句的 select 语句。

这是有效的方法(使用一个标准对象):

这是一个不起作用的:

我正在使用Predicate Builder来生成初始表达式。我不相信这些方法有问题,因为它们适用于第一种(单一)方法。

有谁知道这里发生了什么?

编辑 我忘了说后端是实体框架。

0 投票
1 回答
1828 浏览

core-data - 计算 Core Data 中具有特定值的实体

我有一个具有某些属性的实体。我的标签已经填充(SQLite 表)在一个属性中(我将调用 Attribute1)我有一个布尔值,在使用我的应用程序期间会发生变化。

如何返回我的 Attribute1 值为 YES 的实体的计数?

我已经阅读了“核心数据教程”和“谓词编程指南”,但我不明白如何继续..

这个我试过了,然后呢?好像不行。。

0 投票
1 回答
3034 浏览

ios - (复合)Xcode 4 中的谓词生成器——它在哪里?

首先,这个问题与Xcode 4 With Core Data 中的 Graphical Predicate Builder密切相关。但是,我还没有足够高的评价来发表评论,而且由于我没有提供答案,所以我要问一个更具体的新问题。

我一直在这里撞墙,所以我将提供尽可能多的细节......

问题:Apple Core Data 文档仍然引用 Xcode 3,并显示了一个用于获取属性和获取请求模板的高度复杂的图形谓词构建器。这包括以图形方式创建任意复杂度的复合谓词的能力,例如:

在此处输入图像描述

这显然是一个非常强大的工具,可以有效地使用 Core Data,据我(和其他人)所知,这个功能在 Xcode 4 中要么丢失,要么被隐藏起来。

现在,基于上面链接的 SO 问题,我们至少知道在 XCode 4 中,如果您添加 Fetch Request:

在此处输入图像描述

随后,您可以在右侧窗格中访问一个非常基本的图形谓词编辑器:

在此处输入图像描述

但是这个图形编辑器没有提供苹果文档中指出的复杂复杂性(显然仍然与 XCode 3 相关联)。而且,正如另一个 SO 问题中提到的那样,这仍然没有回答如何访问任何类型的 Fetched Properties 图形谓词构建器的问题。

据我所知,如果您添加 Fetched Property,它会出现在您的 Core Data 编辑器中,但无法访问谓词构建器。扩展:

在 Xcode 3中,详细信息窗格提供了一个“编辑谓词”按钮,可以打开 Predicate Builder:

在此处输入图像描述

这是 XCode 4 中的可比较视图:

在此处输入图像描述

可以看出,没有“编辑谓词”按钮。

问题:

1) XCode 4 中的所有这些功能在哪里?如上所示,到目前为止,我发现的唯一一个接近 Predicate Builder 的东西是非常简单的 Fetch Request 编辑器,它没有提供我能够找到的复合/复杂谓词功能。

再一次,我想在这里明确一点:除非我遗漏了一些明显的东西,否则当您创建 Fetch Request 时出现在 XC4 中的这个简单的 FetchRequest 编辑器并不是这个问题的答案。它为您提供的唯一条件选项是选择以下 [None/All/Any] 是否为真。这甚至没有接近 XCode 3 的 Predicate Builder 的功能,具有复杂的关系和可选变量等。

2)同样的问题,也特别针对Fetched Properties。

我的假设是,Apple 不仅取消了在 XCode 4 中为 Fetched Properties 和 Fetch Request Templates 以图形方式创建复杂复合谓词的能力。但我已经走到了尽头,试图找出它藏在哪里......

提前致谢。

0 投票
1 回答
2761 浏览

linq - 如何使用多个嵌套的“ands”和“or”创建 linq 谓词

我正在尝试使用来自http://www.albahari.com/nutshell/predicatebuilder.aspx的 PredicateBuilder 在运行时动态创建 linq 表达式。

我目前有一个方法,它采用标准对象列表,然后将它们解析为多个谓词,就像这篇文章中描述的那样。

所以目前,我的代码支持以下场景:

但我需要它像这样工作:

我怎样才能做到这一点,以便我可以将两个“OR”“组合”在一起,以便逻辑正确流动?我不想要“a OR a AND b AND c”,我需要“(a OR a) AND b and C”。

0 投票
4 回答
1626 浏览

c# - 具有“NOT IN”功能的 C# 谓词生成器

使用 PredicateBuilder 如何获得类似于 SQL IN 或 NOT IN 查询的功能?

例如,我有一个 ID 列表,我想选择 ID 匹配或不匹配 ID 的所有人员。

人物匹配功能相当简单(尽管可能有更好的方法)

那么我如何得到相反的结果呢?我想要所有 ID 不在 personIDs 列表中的人。

0 投票
1 回答
425 浏览

c# - LINQ 和 OR 标准

如何以编程方式创建 EF 查询(使用 lambda 的扩展方法)。我理解标准。这是伪代码:

但我想要的不是 and 运算符。我想要一个 or 运算符。我该怎么做呢?如何在代码中创建复杂的标准树?