LINQ 到 SQL 是否处理动态查询

本文关键字:动态 查询 处理 是否 SQL LINQ | 更新日期: 2023-09-27 17:55:55

我正在构建一个动态查询。基本上,函数接收一个对象 MyParams,其属性是参数;我正在基于 MyParams 对象创建 Where 子句并返回匿名类型的列表。

那么,L2SQL 是否支持创建动态查询?我有一个已经适用于其他查询的数据上下文。根据参数,我有时需要访问一些表,所以我还需要动态编写 From 子句,还是应该只包含所有表并只关注 where 子句?

谢谢。

LINQ 到 SQL 是否处理动态查询

如果这是

您想要的,您可以执行以下操作:

        var baseQuery = dataAccess.Table1.Where(arg => arg.Field1 = 1);
        if (parameter[1] = true)
        {
            baseQuery = baseQuery.Where(arg => arg.Field2 = 'Test');
        }
        if (parameter[2] = true)
        {
            baseQuery = 
                from x in baseQuery
                join y in dataAccess.Table2 on
                    x.Id equals y.Id
                where y.Field3 = 'Something'
                select x;
        }
        return baseQuery.ToList();

你应该能够使用我对另一个问题的回答。你的问题不是你的问题更通用的精确副本,但解决问题的原因完全相同。