我在db中有2个重要的日期字段.
startTime和goTime
我喜欢创建自定义查询,其中一个参数可能为空,请参阅我的示例
public List<Type> GetAll( DateTime startTime, DateTime goTime )
{
List<Type> getResultBetween =
(from i in DB.TABLENAME
where i.startTime >= startTime && i.goTime == ANYTHING
select i).ToList();
return getResultBetween;
}
Run Code Online (Sandbox Code Playgroud)
因此,即使没有定义goTime,我现在的目标是达到给定的startTime.如果我定义goTime并让Starttime为空,它也应该工作.Resare应该给我所有人直到getime.
谢谢
尝试这样的事情,使用可空类型并明确地构建查询:
public List<Type> GetAll(DateTime? startTime, DateTime? goTime )
{
IQueryable<Type> query = DB.TABLENAME;
if (startTime != null)
{
query = query.Where(i => i.startTime >= startTime.Value);
}
if (goTime != null)
{
query = query.Where(i => i.goTime == goTime.Value);
}
return query.ToList();
}
Run Code Online (Sandbox Code Playgroud)