linq - 动态构建 Linq 查询

标签 linq expression-trees

我正在编写实现关键字式搜索的 LINQ 查询。换句话说,返回 TitleDescriptionId 包含

的行的查询

如下

    public static IQueryable<EmployeeObject> QueryableSQL()
    {
        IQueryable<EmployeeObject> queryable = EmployeeRepository.GetAllEmployee(); 
    }

    public static IList<EmployeeObject> QLike(string txt)
    {
       IList<employeeObject> _emps = QueryableSQL().Where(x => x.Title == txt).ToList();
       return _emps;
    }

到目前为止,还不错。但这仅处理您想要在我的案例中匹配的情况 Title

假设相反,我想根据“DescriptionId进行搜索,我是否必须为 Description 创建一个新方法?或者有什么方法可以创建一个树表达式`

最佳答案

public static IQueryable<EmployeeObject> QueryableSQL()
{
    IQueryable<MediaObject> queryable = EmployeeRepository.GetAllEmployee(); 
}

public static IList<EmployeeObject> QLike(Expression<Func<EmployeeObject, bool>> func)
{
   return QueryableSQL().Where(func).ToList();
}

然后你可以这样调用它:

QLike(t => t.Title == "MyText");

关于linq - 动态构建 Linq 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19641185/

相关文章:

c# - 通过 Expression.Call 调用 Expression.GreaterThanOrEqual 时出现 ArgumentException

c# - 提取列表的 k 个最大元素

c# - "Turning"一个 IEnumerable<IEnumerable<T>> 90 度

c# - lambda 参数如何映射到 TakeWhile 中?

c# - 使用表达式树设置字段值

c# - 在 C# Lambda 表达式中使用 System.DateTime 会出现异常

c# - 从查询字符串请求值

c# - 我如何在内存列表中分组?

c# - 在表达式树中使用可空类型

c# - 通过表达式调用可枚举平均值