expression-trees相关内容

使用表达式树创建完全动态的where子句,然后在IQueryable上执行

在代码的第(3)点,我定义了一个名为query1的查询,在其中定义了一个.lambda表达式.该查询在某种程度上是动态的,但仍包含静态元素,它始终引用Type Employee及其(int)属性ClientID. 现在,我非常想根据方法参数来动态引用类型及其属性,该方法参数示例如下(1)所示. 到目前为止,我试图通过将点(3)定义的查询的静态部分替换为更精细的表达式树来使其完全动态化, ..
发布时间:2020-11-02 19:10:23 C#/.NET

为什么我不能手动创建我的直接lambda生成的相同的表达式树

我已经经历了一段时间,现在我在墙上搜索了各种各样的短语和关键词,但是我找不到答案附近的任何东西,所以我希望这里的人能有所启发. 基本上,我正在深入研究如何在C#4.0中操作,创建和修改表达式树 我遇到一个奇怪的异常,我无法理解 如果我写这样的东西 Expression> InsertAString = (Insert) => "Thi ..
发布时间:2020-11-02 19:09:20 C#/.NET

使用表达式树为LINQ查询构建IQueryable.Any

我正在使用System.Linq.Expressions.Expression类动态构建SQL"WHERE"子句.它适用于简单的条款,例如要添加"PhaseCode = X"子句,请执行以下操作: var equalTarget = Expression.Constant(phaseCode, typeof(int?)); var phaseEquals = Expression.Equal ..
发布时间:2020-11-02 19:09:11 C#/.NET

二进制表达式树C ++

我有一个小问题.我正在尝试将数学表达式添加到二叉树中,但我无法理解该算法.在这里: If the current token is a '(': Add a new node as the left child of the current node, and descend to the left child. If the current token is in the list ..
发布时间:2020-11-02 19:09:05 C/C++开发

我为什么要使用ExpressionVisitor?

我从MSDN的文章中了解到如何:修改表达式树 ExpressionVisitor应该做什么.它应该修改表达式. 然而,他们的示例非常不切实际,因此我想知道为什么需要它?您能列举一些现实情况下修改表达式树的意义吗?或者,为什么必须对其进行修改?从什么到什么? 它也有许多用于访问各种表达式的重载.我怎么知道什么时候应该使用它们以及它们应该返回什么?我看到人们使用VisitParameter ..
发布时间:2020-11-02 19:07:56 C#/.NET

Roslyn SyntaxNodes是否可以重用?

我一直在查看罗斯林CTP ,尽管它解决了与表达式树API 都是不可变的,但罗斯林却以完全不同的方式做到了: Expression节点没有对父节点的引用,而是使用ExpressionVisitor进行了修改,这就是可以重用大部分部件的原因. 另一方面, Roslyn的SyntaxNode引用了其父节点,因此所有节点实际上都是无法重复使用的块.提供了诸如Update,ReplaceNod ..
发布时间:2020-11-02 19:07:54 C#/.NET

从属性名称的字符串创建表达式?

我正在尝试基于某些JSON创建查询,目前我已将JSON解析为一组规则,每个规则均包含字段名称,比较类型(=,>等)和比较. 我遇到的问题是将其从该规则传递到IQueryable对象,我想我需要使用反射并以某种方式构建表达式树,但是我不确定采用正确的方法... 假设我有: public class Order : BaseEntity { public int OrderID{ ..
发布时间:2020-11-02 19:07:52 C#/.NET

如何创建以表达式为参数的通用表达式

ASP.Net MVC中有一个DisplayNameFor(x=>x.Title)帮助器. 我想实现类似的行为. 我想要一种方法,该方法接受基于User类(u=>u.Birthdate或u => u.Name)的表达式,一个操作数(Greater,Less,Equal)和一个类似DateTime.Now的值并返回表达式u=>u.Birthdate > DateTime.Now 我了解到 ..
发布时间:2020-11-02 19:07:48 C#/.NET

将节点/属性添加到表达式树

这是我第一次真正处理过表达式树,我有点迷茫.我很抱歉 这个问题根本没有任何意义.请考虑以下类: public class Foo { public T Value { get; set; } public bool Update { get; set;} } public class Bar { public Foo SomeBool { get; ..
发布时间:2020-11-02 19:07:46 C#/.NET

Lambda表达式树解析

我正在尝试在项目中使用Lambda表达式来映射到第三方查询API.所以,我要手工解析表达式树. 如果我输入如下lambda表达式: p => p.Title == "title" 一切正常. 但是,如果我的lambda表达式如下: p => p.Title == myaspdropdown.SelectedValue 使用.NET调试器,我看不到该功能的实际值.相反 ..
发布时间:2020-11-02 19:07:43 C#/.NET

在Prolog中构建表达式树

我正在寻找一种在Prolog中构建表达式树的方法.我已经做过一些实验,并提出了以下工作代码(仅处理常量和加号表达式): const(_). plus(_, _). eval(const(R), R). eval(plus(A, B), R) :- number(A), number(B), R is A+B. eval(plus(A, B), R) :- number(A), eval( ..
发布时间:2020-11-02 19:07:16 其他开发

将C#函数移动到表达式以在Entity Framework/SQL Select中使用

我有一些小的C#函数,并从视图中计算了cols,我希望将其移至“表达式",以便它们直接针对本机T/SQL中的数据源执行. 我可以在Select中内联执行此操作,但我想将其移至通用功能以供重用和测试. var results = context .Products .Select(p => new StockDto { Stock = p.Good ..
发布时间:2020-11-02 18:38:44 C#/.NET

使用表达式树循环构建动态查询

我有一个系统,可以将与Sales相关的不同条件存储在数据库中。加载条件后,它们将用于构建查询并返回所有适用的Sales。条件对象如下所示: ReferenceColumn(它们适用于Sale表中的列) MinValue (引用列必须为最小值) MaxValue(引用列必须为最大值) A搜索销售是使用上述条件的集合完成的。相同类型的ReferenceColumns进行或运算, ..
发布时间:2020-10-30 00:31:45 C#/.NET

从中创建表达式树时是否需要将中缀表示法转换为后缀?

我想创建一个以infix形式给出表达式的表达式树。是否需要先将表达式转换为后缀,然后再创建树?我了解这在某种程度上取决于问题本身。但是,假设它是数学函数的简单表达式,具有未知数和运算符,例如:/ * ^ +-。 解决方案 否。如果您要构建表达式树,则无需先将表达式转换为后缀。只是在解析时构建表达式树会更简单。 我通常为表达式编写递归下降解析器。在这种情况下,每个递归调用仅返回其解析的 ..