0

我有一个 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()

我遇到的问题是如何检查可以为空的日期以算作有效日期和未过期的结束日期之间的日期?

4

1 回答 1

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))
于 2013-07-01T19:31:28.920 回答