【问题标题】:Date comparision日期比较
【发布时间】:2011-12-31 02:15:22
【问题描述】:

在 LINQ 中,我编写了一个数据查询,该查询位于两个日期之间。在这种情况下,我没有得到数据。当用户输入与 from dateto date 相同的日期时,当有该特定日期的数据时,数据不会显示。

这是我的 LINQ 查询。

var result =  from MaterialStatus in materialRequistionEntities.Tbl_MatReq_NewItemReq_M
join CurrentStatus in materialRequistionEntities.Tbl_StatusMaster_M 
    on MaterialStatus.ReqCurStatus equals CurrentStatus.StatusId
join Employee in materialRequistionEntities.Tbl_Emp_Master_M
    on MaterialStatus.Indentor equals Employee.EmpId
where (MaterialStatus.CreatedOn >= dt.Date 
    && MaterialStatus.CreatedOn <= dt1.Date)
select *****************

【问题讨论】:

    标签: linq


    【解决方案1】:

    你应该这样做:

    var upperDate = dt1.Date.AddDays(1);
    ...
    where (MaterialStatus.CreatedOn >= dt.Date
        && MaterialStatus.CreatedOn < upperDate
    

    这样可以将表达式转换为sargable SQL 谓词。

    【讨论】:

      【解决方案2】:

      假设dt1 实际上大于dt,您可以使用

          var result =  from MaterialStatus in materialRequistionEntities.Tbl_MatReq_NewItemReq_M
                                   join CurrentStatus in materialRequistionEntities.Tbl_StatusMaster_M on
                                   MaterialStatus.ReqCurStatus equals CurrentStatus.StatusId
                                   join Employee in materialRequistionEntities.Tbl_Emp_Master_M
                                    on MaterialStatus.Indentor equals Employee.EmpId
                                    where (MaterialStatus.CreatedOn.Date >= dt.Date && MaterialStatus.CreatedOn.Date <= dt1.Date)
                                    select *****************
      

      通知CreatedOn.Date处理时/分/秒/毫秒分量

      【讨论】:

      • John Gathogo 先生,我没有在 MaterialStatus.Createdon 获得日期。
      • @Suryasasidhar:CreatedOn 不是日期时间字段吗?如果是,你应该可以做到.Date
      【解决方案3】:

      希望一切顺利。

      where (MaterialStatus.CreatedOn.Value.Date >= dt.Date && MaterialStatus.CreatedOn.Value.Date <= dt1.Date.AddDay(1))
      

      【讨论】:

        猜你喜欢
        • 2018-11-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-20
        • 2020-09-08
        • 2012-09-06
        • 2015-12-29
        • 2017-12-06
        相关资源
        最近更新 更多