我如何只显示SystemDate少于/大于存储日期的数据库中的记录?

时间:2017-04-27 12:33:32

标签: c# linq ado

我正在创建一个允许您添加,删除和编辑租车订单的WPF C#应用程序,我正在尝试实现一项功能,仅从已完成的数据库中选择记录,或选择仍处于活动状态的记录。

这是我的ShowCompleted方法,用于例子....

html {
    overflow-x: hidden;
    position: relative;
    min-height: 100%;
}

body {
    overflow-x: hidden !important;
}

.topbar {
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 999;
}

body.fixed-left .side-menu.left {
    bottom: 50px;
    height: 100%;
    margin-bottom: -70px;
    margin-top: 0px;
    padding-bottom: 146px;
    position: fixed;
    width:240px;
    z-index: 2;
}
#wrapper {
    height: 100%;
    overflow: hidden;
    width: 100%;
}

.content-page {
    margin-left: 240px;
    overflow: hidden;
}

这是我点击该按钮时得到的错误,我不知道解决方案是什么......

  DateTime current = DateTime.Now;
            var query = from CarRental in this.dbContext.CarRentals where (CarRental.Starting_Date.AddDays(CarRental.Duration)) < current select CarRental;
            this.CarRentalViewSource.Source = query.ToList();

非常感谢任何帮助

由于

杰米

1 个答案:

答案 0 :(得分:0)

EntityFramework将您的所有功能翻译为sql,错误是EntityFramework无法将DateTime.AddDays功能翻译为sql。您需要使用DbFunctions.AddDays而不是DateTime.AddDays,因此您的代码应如下所示

DateTime current = DateTime.Now;
var query = from CarRental in this.dbContext.CarRentals where 
            (DbFunctions.AddDays(CarRental.Starting_Date, CarRental.Duration))) < current select CarRental;
this.CarRentalViewSource.Source = query.ToList();