我有一个LINQ查询VB.NET,我必须检查日期是否在时间跨度之间---这是需要生效日期的扭曲,但结束日期可以为空白
我可以拥有相同的记录,但日期不能重叠
.Where(Function(x) x.srvc_def_desc = txtSrvDefDesc.Text.Trim()) _
.Where(Function(x) txtsrvEffDt.SelectedDate >= x.eff_dt And (txtsrvEffDt.SelectedDate <= x.end_dt)).Count()
我遇到的问题是如何检查可以为空的日期,将其视为有效期和结束日期之间的日期?
答案 0 :(得分:0)
.Where(Function(x) _
x.srvc_def_desc = txtSrvDefDesc.Text.Trim() _
AndAlso txtsrvEffDt.SelectedDate >= x.eff_dt _
AndAlso (Not txtSrvEffDt.HasValue() OrElse txtsrvEffDt.SelectedDate <= x.end_dt)).Count()
可以简化为(如果您感兴趣的是Count
):
.Count(Function(x) _
x.srvc_def_desc = txtSrvDefDesc.Text.Trim() _
AndAlso txtSrvEffDt.SelectedDate >= x.eff_dt _
AndAlso (Not txtSrvEffDt.HasValue() OrElse txtsrvEffDt.SelectedDate <= x.end_dt))