jff*_*jff 0 c# sql entity-framework
我想使用具有某些限制的实体框架进行查询。问题是,有时没有限制,所以我不知道我的做法是否是最佳实践。
我的EF代码如下:
Get(x => x.CreationDate >= filterInit
&& x.CreationDate <= filterEnd
&& x.Cond1 > ax
&& x.Cond2 > y).ToListAsync();
Run Code Online (Sandbox Code Playgroud)
例如,如果ax为null,则执行此操作:
if(ax == null){
Get(x => x.CreationDate >= filterInit
&& x.CreationDate <= filterEnd
&& x.Cond2 > y).ToListAsync();
}else if(y == null)
{
Get(x => x.CreationDate >= filterInit
&& x.CreationDate <= filterEnd
&& x.Cond1 > ax ).ToListAsync();
}else{
Get(x => x.CreationDate >= filterInit
&& x.CreationDate <= filterEnd
&& x.Cond1 > ax
&& x.Cond2 > y).ToListAsync();
}
Run Code Online (Sandbox Code Playgroud)
我敢肯定有一个不错的方法可以做到这一点,但是我不知道怎么做。
你能帮我这个忙吗?
通常的习惯用法是
IQueryable<SomeEntity> q = ...;
if (ax != null)
{
q = q.Where(x => x.Cond1 == ax);
}
if (y != null)
{
q = q.Where(x => x.Cond2 == y);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
53 次 |
| 最近记录: |