问题标签 [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.
mysql - 带有谓词生成器的 MySQL 不起作用?
我正在开发基于 3 个字段的小型过滤器。我还在我的 MVC 3 项目中使用 MySQL 连接器。
我找到了一个漂亮的 PredicateBuilder http://www.albahari.com/nutshell/predicatebuilder.aspx。但它似乎不适用于 MySQL
但result
包含 0 个元素。为什么 ?
lucene - RavenDB 和 PredicateBuilder
是否可以使用 PredicateBuilder 类来构建 RavenDB 可以解释和使用的 WHERE 子句?我尝试过 session.Query() 和 LuceneQuery,但它们都失败了:
这是 session.Query() 尝试:
这是运行时错误:
Lucene.Net.QueryParsers.ParseException:无法解析'(OR)OR':在第1行第2列遇到“”OR“”。期待以下之一:(此处的预期项目列表)。
如果我尝试 LuceneQuery():
我得到这个编译时错误:
错误 2 'Raven.Client.IDocumentQueryBase>.Where(System.Func)' 已过时:'您不能在 IDocumentQuery 上发出内存过滤器 - 例如 Where(x=>x.Name == "Ayende")。
编辑:这是第一个示例中 whereClause 的样子:
{f => ((False OrElse Invoke(x => (Convert(x).EquipmentId == value(ReadFromRaven.Logic.Readers.RavenReader 1+<>c__DisplayClassa[WriteToRaven.Data.Marker]).tempCoater.MarkerEquipmentId), f)) OrElse Invoke(x => (Convert(x).EquipmentId == value(ReadFromRaven.Logic.Readers.RavenReader
1+<>c__DisplayClassa[WriteToRaven.Data.Marker]).tempCoater.MarkerEquipmentId), F))}
编辑 2:这就是我构建 WHERE 子句的方式
这是电话:
这是 BuildWhereClause() 方法签名和重要的方法部分:
c# - PredicateBuilder 可重用的 DateTime 谓词设置器
我正在使用PredicateBuilder生成动态搜索子句。在下面的示例代码中,有没有一种方法可以修改SetDateTimePredicate
,以便将其用于任何DateTime
属性SomeType
?
我尝试了一种扩展方法,但得到了这个错误:
扩展方法:
带有扩展方法的示例:
c# - MVC 3 中的谓词生成器
我已经用 Predicate Builder 搞砸了两天了,尽管每个网站都说由于某种原因它非常容易实现(很可能是我的错),但我无法让它工作。我决定使用谓词生成器,因为我知道我想搜索哪些列,并且它们都在同一个表中。我要做的就是在多个列中搜索可能存在于 3 列中的任何一个中的关键字。我读过 Predicate Builder 可以轻松完成此操作,但教程显然没有考虑到我。以下是我到目前为止所拥有的,如果有人能指出我正确的方向,我将不胜感激。现在当我搜索时它什么也没做,它只是返回所有记录。谢谢你的帮助!
entity-framework-4 - 无法使用 LINQ to Entities 和 LinqKit / PredicateBuilder 重构
我一直在尝试将 LINQ 表达式重构为方法,并且遇到了“ Internal .NET Framework Data Provider error 1025.
”和“ The parameter 'xyz' was not bound in the specified LINQ to Entities query expression.
”异常。
以下是实体模型的相关部分(使用 EF 4.2 / LINQ to Entities):
基本的关系模型是这样的:
我正在尝试创建一个查询,当给定 search 时,它将term
尝试查找以OR开头的Place
实体,其具有who或以 search 开头。(不是我遇到问题的地方,尽管它是查询的一部分,因为s 应该只匹配。)OfficialName
term
PlaceName
Text
AsciiEquivalent
term
Language
PlaceName
CultureInfo.CurrentUICulture.TwoLetterIsoLanguageName
以下代码确实有效:
我接下来要做的是重构NonOfficialNameMatches
方法以将name => ...
表达式提取到单独的方法中,以便其他查询可以重用它。这是我尝试过的一个示例,它不起作用并引发异常“ The parameter 'place' was not bound in the specified LINQ to Entities query expression.
”:
当我没有.AsExpandable()
链时NonOfficialNameMatches
,我会得到“ Internal .NET Framework Data Provider error 1025.
”异常。
我在这里遵循了其他建议,例如调用.Expand()
谓词的几种组合,但总是以上述异常之一结束。
甚至可以使用带有 LinqKit / PredicateBuilder 的 LINQ to Entities 将此表达式分解为单独的方法吗?如果是这样,怎么做?我究竟做错了什么?
predicatebuilder - PredicateBuilder where 子句问题
我正在使用 PredicateBuilder 生成 where 子句
我收到以下错误,任何人都可以为此提供帮助,或者我做错了什么。
实例参数:无法从“System.Data.Linq.EntitySet”转换为“System.Linq.IQueryable”
linq - Linq PredicateBuilder 多条件
如何 PredicateBuilder 多标准?
linq - 使用 PredicateBuilder 创建一个独立的布尔表达式
我试图弄清楚如何使用 PredicateBuilder 来确定一组特定的记录是否全部存在于一个表达式中。因此,给定一个 OrderId 和一个 ProductIds 列表作为规范,我想知道 Order 的 OrderDetail 记录是否包含所有规范项。不只是其中一个或一些——而是所有这些。
所以我可以这样做:
但是,在得到结果之后,我必须 a) 消除重复项(因为在我的情况下,多个 OrderDetails 可以具有相同的 ProductId),然后 b) 将结果计数与规范计数进行比较。所有这些在表达式之外都是可行的,但是有没有一种优雅的方法来评估表达式中的所有内容,使得结果是布尔值?
也就是说,我希望表达式是自包含的,以便它可以按原样传递,而我给它的那些不必知道如何进行“后期处理”来确定它是否真实.
c# - 如何简化 LINQ to WCF 数据服务中的组合谓词?
我正在使用PredicateBuilder和Colin Meek 的等价物以 WCF 数据服务友好(即没有调用表达式等)的方式编写谓词。这些适用于某些查询,但随着查询复杂性的增加,“递归达到允许的限制”失败。不幸的是,这个限制低于我在代码中正常情况下的预期。我也无法事先确定何时达到此限制。
有可能:
- 在访问 WCF 数据服务之前简化谓词?
- 确定查询复杂性何时超过 WCF 数据服务的限制?
在我的代码中,我正在为接受“州”和“城市”参数的 Azure 数据市场服务构建谓词。我没有为每个城市*州配对发出调用,而是按照以下方式编写谓词:
由于表达式树,实际上谓词会更像这样:
使用 LINQPad,我可以捕获请求,手动简化它并证明这些工作一旦简化。因为我的代码没有尝试简化,所以命中 Azure 数据服务的 OData 查询过于复杂/递归并生成异常。在上面的概述中,我应用了诸如 (x 或 y) 或 z == x 或 y 或 z 之类的简化,这具有充分降低查询复杂性以使其通过集合的效果。因此我上面的两个问题。
任何帮助/指针将不胜感激!
c# - 即使添加了明确的错误语句,PredicateBuilder 仍然为真
我有以下声明。
起初,我在尝试一种表达方式;没有成功,所以我尝试了这个“假”。不管我做了什么,它仍然是一样的。怎么了?