问题标签 [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.
c# - IQueryable 的 Select Anonymous 对象中的函数调用
我有以下代码:
在这里,我使用的是LinqKit,它似乎可以帮助我在选择一些没有 Take expresion AsEnumerable 的数据时调用一个方法。如果我放 ToList 或 AsEnumerable ,效果会很好,但我不想这样做。我想找到一些可以避免的东西错误 :
LINQ to Entities 无法识别方法 'PluginApplication.Types.ToTypeName (System.Int32)' 方法,并且此方法无法转换为存储表达式。
.net - 如何在使用 LinqKIT 的 .AsExpandable() 时包含子实体(导航)
我正在使用 LinqKIT 的 .AsExpandable() 扩展来动态生成 Where 表达式。
例如,
现在 Asset 实体包含 AssetTypeID,它具有 AssetType 表的 ID 字段的外键。但是当我尝试编写 Include 语句以在结果集中包含 AssetType 时,它不起作用,并且每个 Asset 实体的 AssetType 属性始终为空......但是,如果我不使用 .AsExpandable ,同样的事情也可以正常工作() 延期。
关于我们如何使用 AsExpandable() 扩展结果集来加载相关实体的任何想法。
PS - 我的场景比我提供的示例代码有点复杂,所以我不能避免使用这个扩展。
c# - “包含”扩展方法不适用于 LinqKit
我有 2 节课:
正常查询:
完美运行
但是当我使用 Albahari 的 LinqKit 并给出如下查询时:
它在那里没有给出任何错误。
但结果中不包括 Employee 数据。
linqpad - LinqPad Predicatebuider 表达式调用不起作用
我正在尝试获取在http://www.albahari.com/nutshell/predicatebuilder.aspx上找到的示例
我有以下代码:
我的问题是在方法 1 和方法 2 之间,这个 IsCurrent() 方法不起作用,代码的功能是相同的,但是当我调用方法 2 PriceList.IsCurrent() 时,出现以下错误。
任何建议将不胜感激。
c# - LINQ not sorting List<> properly
My EF query is supposed to be sorting by the date of the first Product in the list, but for some reason, it only sorts most of the products and some of the dates are in the wrong order.
Here's the code...
Code seems good to me, but look at how one of the dates is out of order...
sql - 简单的 Linq 表达式产生臃肿的 where 子句,这对我来说没有意义
我正在尝试使用这个 Linq 表达式
以这种方式
但它会产生这些疯狂的条件
我不知道为什么@p__linq__1 IS NULL
当我的参数是字符串而不是可空值时它会产生。
我希望它会产生类似的东西
我使用 LinqKit 谓词而不是表达式尝试了同样的事情,但得到了相同的结果。实际上,我有一个带有附加 where 子句的更复杂的查询,但是当它不起作用时,我将其分解为这个简单的查询,发现 where 子句与我的预期完全不同。
所以问题是产生一个类似于我使用 LinqKit 表达式或谓词的更简单的 where 子句的正确方法是什么?
c# - 如何使用 linqkit 之类的
我想要类似select * from data where Name like % d_v_n %
linq的东西
那么预期的结果将是"divan","dîvan","divân","dîvân"
空结果
c# - 从 Linqkit 获取 SQL 字符串
如何从 a 返回 SQL LinqKit.ExpandableQuery<T>
?
我正在使用来自stevefenton.co.uk的代码,但它似乎失败了
为internalQueryField
空。
它与继承树(LinqKit + Linq)有关,但我无法理解它.. :(
entity-framework - 实体框架中的 LinqKit 和异步
将谓词构建器与 Entity Framework Core 一起使用时出现以下错误。
源 IQueryable 未实现 IAsyncEnumerable。只有实现 IAsyncEnumerable 的源才能用于实体框架异步操作。
这是代码 -
这是我正在使用的 EF 的确切版本
c# - 在 Entity Framework 7 上使用 LinqKit 的 PredicateBuilder 投射异常
我有一个简单的 EF7 代码优先模型:Countries
拥有States
,States
拥有Cities
。定义了关系和逆关系,以便可以双向遍历导航字段和集合。
我想对所有城市进行文本搜索:拆分搜索词以逐个搜索每个词,使此搜索针对城市名称、州名和国家名称,并使此搜索具有包容性(如果我查找 ' France Germany francisco'、来自法国的城市、来自德国的城市和旧金山将包含在搜索结果中)。
为此,我正在使用 LinqKit 构建我的搜索谓词PredicateBuilder
。
当我在一个简单的内存中实体集合上测试谓词构建和运行代码时,一切都按预期工作。
当我在 Entity Framework 7 上下文中针对 Cities DbSet 运行它时,我遇到了这个奇怪的异常 ( System.InvalidCastException 'System.Linq.Expressions.FieldExpression' to type 'System.Linq.Expressions.ParameterExpression'
)。
我最初认为它与 LinqKit 相关,但它实际上与在查找涉及 2 级关系的字段时使用 PredicateBuilder 和 EF7 相关:
在谓词构建代码上,您会注意到我在 3 个级别构建它:
- 针对城市名称进行文本搜索(可以使用内存和 DbSet 上下文)
- 针对状态名称进行文本搜索(可以使用内存和 DbSet 上下文)
- 将文本搜索定位在国家/地区名称(内存中的上下文可以,但在 DbSet 上下文中崩溃)。
谓词构建过程显然从一个错误的初始化开始,然后是每个单词和每个字段目标的 OR。在此处发布之前,我尝试了以下尝试,如先前与类似问题相关的问题中所述:
- 在表达式构建的各个步骤调用 LinqKit
Expand()
(提示:它没有帮助!) - 以前将崩溃表达式存储在局部变量中,并使用该
Expression
变量而不是匿名 lambda(不是更好) - 仅使用涉及级别 2 遍历(崩溃的那个)的表达式,它仍然崩溃
- 移除
Name.Contains
2级遍历的部分,但保留Id的2级遍历。在这种情况下它不会崩溃(当然文本查找没有完成)。
这是一个完整的复制代码(创建一个 localDb 数据库,为其播种,然后运行崩溃代码)。
这是一个 .Net 5 控制台包项目,您需要将以下 NuGet 包添加到 project.json 文件中:
控制台应用程序的 C# 代码:
下面是完整的堆栈跟踪(抱歉是法语,但我不想翻译它,而且法语单词与英语单词相比是透明的!)。