我有一些表和以下查询条件:如果参数A为null,则取全部,如果不是,则在查询中使用它.我知道如何分两步完成:
List<O> list = null;
if (A = null)
{
list = context.Obj.Select(o => o).ToList();
}
else
{
list = context.Obj.Where(o.A == A).ToList();
}
Run Code Online (Sandbox Code Playgroud)
是否有可能与一个查询相同?谢谢
Jon*_*eet 18
怎么样:
list = context.Obj.Where(o => A == null || o.A == A)
.ToList();
Run Code Online (Sandbox Code Playgroud)
编辑:您可以在一个查询中执行此操作但仍使用条件:
IEnumerable<O> query = context.Obj;
if (A != null)
{
query = query.Where(o => o.A == A);
}
var list = query.ToList();
Run Code Online (Sandbox Code Playgroud)
我选择了
var list = context.Obj.Where(o => A.HasValue ? o.a == A : true);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14320 次 |
| 最近记录: |