gpt4 book ai didi

Linq表达式 : How do I get the value from comparison evaluation

转载 作者:行者123 更新时间:2023-12-01 05:15:54 25 4
gpt4 key购买 nike

我正在尝试将 LinqExpression 转换为 sql 语句。例如,在我的 Repository 基类中,我有一个 Find 方法接受 LinqExpression 作为其参数。在 Find 方法中,我调用了一个执行以下操作的方法:

var equality = expression as BinaryExpression;
return equality.Left.Translate() + " = " +
equality.Right.Translate();

如何获取右侧变量的值而不仅仅是变量名,目前我只获取变量名。前任。查找(x => x.ID = 变量);如果变量当前设置为 7,我需要一种方法来获取值 7 而不是名称变量。获取存储在变量中的值的正确方法是什么?

最佳答案

看看Matt Warren's article LINQ: Building an IQueryable Provider - Part III .它包含 Evaluator 类的代码,该类将内联所有可以内联的值。在您的例子中,它将用包含值 7 的 ConstantExpression 替换 variable

您可能也会对本系列的其他文章感兴趣。

关于Linq表达式 : How do I get the value from comparison evaluation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17905100/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com