gpt4 book ai didi

c# - 多个 LINQ 表达式和动态属性

转载 作者:太空宇宙 更新时间:2023-11-03 11:04:14 27 4
gpt4 key购买 nike

1.) 我有一个实体查询,例如:return myEntityStore.Query<theType>(x => x.Name == "whatevs");

但是,理想情况下,我想调用一个函数,将其他表达式附加到原始查询,例如 OrderBy's 和更多 Where's。

像这样:

public IQueryable<T> ProcessQuery<T>(System.Linq.Expressions.Expression<Func<T, bool>> theOriginalQuery) where T: class
{
return EntityStore.Query<T>(theOriginalQuery).Where(x => x.Active == true).OrderBy(x => x.OrderBy);
}

2.) 这里一个明显的问题是我正在使用 <T> ,那么有没有办法将属性指定为字符串或其他东西?

<T>(expression).OrderBy(x => "x.ThisColumnExistsIPromise");

3.) Query 函数已经将表达式转换为 Where(),那么仅执行 Where(expression).Where(expression) 就足够了吗?

那么,归根结底,是否可以实现以下目标?

entityStore.Query<T>(originalExpression).Where(additionalExpression).Where(x => "x.Active == true").OrderBy(x => "x.OrderBy");

最佳答案

其实这个问题不是很清楚。但我注意到,如果您使用 LINQ Dynamic Query Library,您的问题可能会得到解决。 然后你可以使用 Property name as string 做任何你想做的事情(OrderBy, Where ....)

有关更多信息,请参阅 this

关于c# - 多个 LINQ 表达式和动态属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16511639/

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