问题标签 [dynamic-expression]

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 回答
514 浏览

c# - 创建动态 LambdaExression 时使用 IgonreCase 获取通用方法“包含”

我想为方法调用创建动态 Lambda 表达式,包含字符串值列表,下面的代码工作正常但不忽略字符串区分大小写

请注意,上述代码仅适用于实体框架 IQueryable,但不适用于 C# List

然后我想将列表中的字符串与 IgnoreCase 进行比较

我想打电话ContainsStringComparer.OrdinalIgnoreCase但当我使用

'methodin' 返回 null 请帮助如何使用正确的反射使用IEqualityComparer获取包含。

0 投票
0 回答
1341 浏览

asp.net-mvc - 在实体框架中返回动态列的存储过程

我有一个使用 Entity Framework 6.2 调用 SQL Server 存储过程的函数。

存储过程返回一个结果集,该结果集在每次调用时具有不同的列数,并且每次调用时列名可能会有所不同。

但是实体框架不允许匿名类型在database.SqlQuery. 任何人都可以提出解决问题并获取匿名类型数据以查看的方法吗?

0 投票
0 回答
114 浏览

c# - 将 DynamicExpression.ParseLambda 与字符串插值一起使用

我正在努力解决 DynamicExpression.ParseLambda 和字符串插值

以下 ParseLambda 在 $ 字符上失败。谁能明白为什么?

0 投票
1 回答
1522 浏览

azure-data-factory - 在 Azure 数据工厂中将行数转换为 INT

我正在尝试使用查找活动来返回行数。我能够做到这一点,但是一旦我做到了,我想对它运行一个 If 语句,如果计数返回的行数超过 20MIL,我想执行一个额外的管道以进行进一步的表操作。但是,问题是我无法将返回的值与静态整数进行比较。以下是我对此 If 语句的当前动态表达式:

@greater(int(活动('COUNT_RL_WK_GRBY_LOOKUP').output),20000000)

并且当触发时,返回以下错误: { "errorCode": "InvalidTemplate", "message": "函数 'int' 使用无效参数调用。该值无法转换为目标类型", “failureType”:“UserError”,“target”:“If Condition1”,“details”:“”}

是否可以将此返回值转换为整数以便进行比较?如果没有,是否有可能的解决方法来达到我想要的结果?

0 投票
1 回答
65 浏览

c# - 在 LINQ 的动态表达式和查询中使用 DefaultIfEmpty

我想在 LINQ中使用带有 DefaultIfEmpty 子句的动态表达式和查询来获取两个集合中不匹配或不匹配的所有行。最终目标是获得两个表连接的增量。

在表 AI 中有:

在表 BI 中有:

我想得到如下结果:

0 投票
1 回答
938 浏览

azure - 使用 base64 转换的 Azure 数据工厂动态内容

我正在从 Azure 数据工厂进行 HTTP 触发的 Azure 函数调用。我无法使函数活动的 HTTP 主体对 HTTP POST 正确。这是 HTTP 正文

{ “文件名”:“@{item().BatchId}.json”,“文件内容”:@{base64(item().BatchId)} }

我传递了两件事:文件名和文件内容,在将其发送到函数之前需要对其进行 base64 编码。base64 函数不适用于 BatchId 的动态值,但文件名在上面的示例中工作正常。

0 投票
1 回答
253 浏览

azure - 我们如何访问 adf 复制活动中预复制脚本的动态表达式中的列?

我们如何访问 adf 复制活动中预复制脚本的动态表达式中的列因为我需要修剪)在加载到 sql db 之前对来自源的多余字符进行子串化。

谁能帮我表达一下。

例如:假设我有一个名为“地址”的列,它的数据超过 50 个字符。可以在加载到接收器之前修剪此数据吗?

因为我不想更改目标 dB,并且想在加载之前对其进行处理。

提前致谢。

0 投票
3 回答
817 浏览

c# - 如何动态创建表达式> for count 和 group by 子句

我需要为以下查询创建动态 lambda 表达式谓词以在 Cosmos DB 中查询。

早些时候我已经为这样的平等操作创建了

但是对于 getCount和 for Group ByClause 如何做到这一点。

0 投票
3 回答
1735 浏览

c# - 如何在我的 Linq-To-SQL 查询中为可导航对象添加动态生成的 Where 表达式?

背景

我的客户想要一种通过字段(字符串)、值(字符串)和比较(枚举)值的数组发送的方法,以便检索他们的数据。

我和我的公司以前从未尝试过这样的事情,所以我的团队有责任想出一个可行的解决方案。这是经过一周左右的研究得出解决方案的结果。

什么有效:第 1 部分

我创建了一个能够从我们的表Classroom中检索数据的服务。数据的检索是在 Entity Framework Core 中通过 LINQ-to-SQL 完成的。如果过滤器中提供的字段之一对于Classroom不存在但对于其相关组织确实存在(客户也希望能够在组织地址中搜索)并且具有可导航的,我在下面编写的方式有效财产。

什么有效:第 2 部分

代码中存在的BuildExpression是我这样创建的(有扩展空间)。

问题/解决我的问题

虽然课堂组织上的内部连接有效,但我宁愿不必引入第二个实体集来检查可导航的值。如果我输入一个城市作为我的过滤器名称,通常我会这样做:

这在这里真的行不通。

为了得到我想要的东西,我尝试了几种不同的方法:

  • 将返回 Func<T, bool> 的已编译函数,但在通过 LINQ-to-SQL 传递时,查询不包含它。
  • 我将其更改为 Expression<Func<T, bool>>,但我的 return 没有以我尝试实现它的方式返回 bool,所以这不起作用。
  • 我切换了实现导航属性的方式,但我的任何函数都不能正确读取该值。

基本上,有没有什么方法可以让我从 Entity Framework Core 的 LINQ-to-SQL 中实现以下功能?也欢迎其他选择。

编辑01:

当使用没有动态构建器的表达式时,如下所示:

调试内容如下:

我尝试使用动态构建器来获取课堂老师,这给了我一个调试:

仍然无法弄清楚如何将($var1.Organization)作为我正在读取的实体。

0 投票
1 回答
329 浏览

azure-logic-apps - 在逻辑应用程序中编码和解码的动态表达式

我正在寻找等效函数编码解码我的 blob 的 content-Md5 属性的内容。我试过 Base64ToString 我得到了这个

O؈�T�eK̲; x����*

请参阅下面的 c# 中的示例代码。我希望为我在逻辑应用程序中的输入实现相同的功能:

我得到的输出为20D0E24C5D0DABC854E9DE1F1EABB575

当我的字符串值“INDiTF0Nq8hU6d4fHqu1dQ==”时,如何构建动态表达式以在逻辑应用程序中获得相同的输出

注意:记住格式是“X2”

谢谢