LINQ 到 SQL 是否处理动态查询
本文关键字:动态 查询 处理 是否 SQL LINQ | 更新日期: 2023-09-27 17:55:55
我正在构建一个动态查询。基本上,函数接收一个对象 MyParams,其属性是参数;我正在基于 MyParams 对象创建 Where 子句并返回匿名类型的列表。
那么,L2SQL 是否支持创建动态查询?我有一个已经适用于其他查询的数据上下文。根据参数,我有时需要访问一些表,所以我还需要动态编写 From 子句,还是应该只包含所有表并只关注 where 子句?
谢谢。
如果这是
您想要的,您可以执行以下操作:
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();
你应该能够使用我对另一个问题的回答。你的问题不是你的问题更通用的精确副本,但解决问题的原因完全相同。