问题标签 [linqkit]

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 投票
1 回答
706 浏览

linq-to-entities - EF 5.0、PredicateBuilder 和 LinqKit

开始使用J. Albahari先生的 LinqKit,有谁知道发布EF 5.0是否有一些警告或需要注意的事项?

EF 5.0 和 L2E 中是否会有任何重大变化意味着使用不同(或不再使用)PredicateBuilder类和AsExpandable()方法来构建动态查询?

感谢您的建议。

0 投票
1 回答
651 浏览

c# - LINQ 实体在运行时构建查询“参数不在范围内。” LinqKit

我正在使用 LinqKit (http://www.albahari.com/nutshell/linqkit.aspx)

有没有办法让下面的代码工作而不必定义一个具体的类?

尝试使用 LINQ to Entities 构建强类型动态查询。

我收到The parameter 'o' is not in scope.错误。

在某些情况下。

似乎当使用匿名类test()时会抛出此错误,而使用具体类时stuff则不会出现错误。是否有一种解决方法允许在这种情况下使用匿名类?

我意识到这个错误可能与 LinkKit 相关,但我没有足够的技术知识来深入了解......

0 投票
0 回答
3317 浏览

linq - 使用 linqkit 的动态 LINQ

遵循来自http://www.albahari.com/nutshell/predicatebuilder.aspx的示例

我有一个类似的要求,除了首先我必须进行 AND 查询,其次,与上面的示例不同,我有一堆字段名称和一个要在每个字段中搜索的值。在用户通过之前,字段名称和值都是未知的。我最终做了类似下面的代码,但显然是非常紧密耦合的。

从上面可以看出,Rule 类具有字段和数据属性。理想的情况是,如果我可以动态创建 predicatebuilder ,例如

提前感谢您的任何意见

0 投票
1 回答
866 浏览

asp.net-mvc-3 - 在 Predicatebuilder 中使用 Linq Any 子句的问题

我遇到了 LinqKit 谓词生成器的问题。我过去曾将它用于简单查询,它运行良好,但我现在尝试将它与语句中的 Any 子句一起使用,它似乎给了我随机结果。下面是我用来构建语句的代码。谁能看到我做错了什么?有没有更好更简单的方法来做我想做的事。我现在正在使用谓词构建器,因为我正在构建一个非常复杂的查询,它可能包含嵌套谓词等,而且我没有看到其他简单的方法可以做到这一点。我将它与实体框架一起使用。

我也没有看到任何简单的方法来尝试使用谓词构建器来调试问题。有谁知道确定从此查询创建的 SQL 的快速方法?

编辑 - - - - - - - - - - - - - - - - - - - - - - -

所以我已经解决了我的部分问题,但遇到了另一个问题。Any 子句和随机结果的问题已通过我在带有 a.ProductType.ID 的整数变量中设置并在子句中使用该值来解决。一旦我这样做了,我就得到了我期望的结果。现在我的问题是,即使这适用于1个产品,当我选择Naymore而不是1,而不是要么寻找那些拥有这两个产品的任何客户,那么我GT总是只有客户我在 for 中添加了一个子句的最后一个产品。我将把我更新的代码放在下面

PredicateBuilder 不能处理多个 Any 子句吗?

0 投票
2 回答
4308 浏览

c# - LinqKit PredicateBuilder 返回所有行或非行

我开始使用LinqKitPredicateBuilder来创建带有 OR 条件的谓词,这在 Linq 表达式中是不可能的。

我面临的问题是,如果我从PredicateBuilder.True<MyEntity>()它开始返回所有行,如果我从PredicateBuilder.False<MyEntity>()它开始返回非行,除了我使用的表达式!看下面的代码:

它应该返回具有 IsActive == true 的行,但它会返回所有行!

我已经尝试了PredicateBuilder.True |的所有可能组合。PredicateBuilder.FalseAnd| Or方法,没有一个有效!

0 投票
2 回答
864 浏览

c# - LinqKit 与“方法无法转换为存储表达式”异常

我正在使用LinqKit,我想编写一个谓词,其中代码必须调用一个普通的布尔方法,如下所示:

这是EntityMatches方法的(部分) :

运行延迟执行时出现此异常:

LINQ to Entities 无法识别方法 'Boolean EntityMatches(MyEntity)' 方法,并且此方法无法转换为存储表达式。

如何重写 EntityMatches 方法以便商店提供者可以理解?

0 投票
1 回答
4106 浏览

c# - 嵌套 PredicateBuilder 谓词:'参数'f'未绑定在指定的 LINQ to Entities 查询表达式中'

我正在使用 LinqKit 的PrediateBuilder 类构建谓词来动态设置过滤器,并且我想将嵌套的一个组合到另一个

我读过这个(http://www.albahari.com/nutshell/predicatebuilder.aspx):

在此处输入图像描述

这是我的代码:

我正在组合我的两个谓词,就像文档中解释的那样。但是,我得到了这个例外:

参数“f”未绑定在指定的 LINQ to Entities 查询表达式中

我首先认为在将内部谓词与主谓词组合之前必须对其进行扩展,因此我更改了组合代码以添加对内部谓词的Expand方法的调用,如下所示:

但我得到了完全相同的例外。

我的代码与文档的唯一区别是我使用foreach循环动态构建嵌套谓词。我只是不知道它如何对结果表达式产生负面影响。

  • 我的代码有什么问题?

  • 我该如何实际调试呢?

  • f参数来自哪里?它是如何产生的?为什么我的情况有问题?

  • 是否有某种表达式树可视化工具可以帮助我真正了解生成的表达式有什么问题?因为表达式的主体很难阅读。

0 投票
3 回答
2780 浏览

c# - 使用 foreach 循环构建自定义谓词以充当过滤器

我需要通过将文档列表传递给我正在努力使用循环动态构建的自定义过滤器来过滤文档列表:foreach

最后一行:

抛出此异常:

参数“d”未绑定在指定的 LINQ to Entities 查询表达式中。

任何人都知道为什么我会得到这个例外?我不明白我传递给 InPeriod 方法的“d”参数在哪里丢失了。我不知道这个工作缺少什么。我的代码与许多其他完美运行的示例相同。欢迎任何有关调用表达式及其在幕后工作的额外理论理论信息。

0 投票
1 回答
250 浏览

c# - Obscure "Unsupported overload used for query operator 'Where'."

I'm using LinqPad and LinqKit to try to learn more about linq to construct complex queries, but I seem to be stuck on simple queries. I haven't found a solution to the error in the question description when I input the following -simple- expression:

If I run the code in VS I get the following error instead: "System.InvalidOperationException : Internal .NET Framework Data Provider error 1025"

0 投票
2 回答
6874 浏览

c# - PredicateBuilder 之间的区别和谓词生成器?

我有代码:

如果我有PredicateBuilder.True<Value>(),它会带回我所期望的,但如果我有PredicateBuilder.False<Value>(),它会带回 0 条记录。有人可以解释区别是什么以及为什么在一种情况下我得到 0 条记录,而在另一种情况下我得到了我所期望的。我已经阅读了PredicateBuilder文档,但这有点令人困惑。我有一种感觉,这与我是Anding谓词在一起的事实有关吗?