Entity framework 获取小于当前日期的maxdate

Entity framework 获取小于当前日期的maxdate,entity-framework,linq,Entity Framework,Linq,我的页面中有一个服务税计算。为此,我必须获得当前的服务税 服务税表如下 Date Percentage 2015-10-01 00:00:00.000 14 2015-11-15 06:12:31.687 14.5 假设当前日期小于2015-11-15我将获得百分比的值为14,如果当前日期等于或大于2015-11-15我将获得百分比的值为14.5 我如何使用Linq?实现这一点?您需要获取所有较低的税费

我的页面中有一个服务税计算。为此,我必须获得当前的服务税

服务税表如下

 Date                          Percentage

2015-10-01 00:00:00.000          14

2015-11-15 06:12:31.687          14.5
假设当前日期
小于2015-11-15
我将获得
百分比的值
14
,如果当前日期
等于或大于2015-11-15
我将获得
百分比的值
14.5


我如何使用
Linq

实现这一点?您需要获取所有较低的税费,并且仅在排序后首先获取:

Taxes
    .Where(t => t.Date < DateTime.Now)
    .OrderByDescending(t => t.Date)
    .First()
税收
.Where(t=>t.Datet.Date)
.First()

您需要获取所有较低的税费,并且只在排序后首先获取:

Taxes
    .Where(t => t.Date < DateTime.Now)
    .OrderByDescending(t => t.Date)
    .First()
税收
.Where(t=>t.Datet.Date)
.First()

如果需要比较日期,最好在数据库上进行比较,以防止获取无用数据。为此,您可以使用
System.Data.Entity
命名空间访问某些函数:

db.Taxes.Where(t => DbFunctions.TruncateTime(t.Date) 
                    < DbFunctions.TruncateTime(dateParameter)).FirstOrDefault();
db.Taxes.Where(t=>DbFunctions.TruncateTime(t.Date)

System.Data.Entity.DbFunctions.TruncateTime(Datetime)
修剪数据库上
Datetime
值的时间部分。

如果需要比较日期,最好在数据库上进行比较,以防止获取无用数据。为此,您可以使用
System.Data.Entity
命名空间访问某些函数:

db.Taxes.Where(t => DbFunctions.TruncateTime(t.Date) 
                    < DbFunctions.TruncateTime(dateParameter)).FirstOrDefault();
db.Taxes.Where(t=>DbFunctions.TruncateTime(t.Date)

System.Data.Entity.DbFunctions.TruncateTime(Datetime)
修剪数据库中
Datetime
值的时间部分。

我真的不明白你的问题,你的表中有两条记录,你需要根据时间提取其中一条?我真的不明白你的问题,您的表中有两条记录,您需要根据时间提取其中一条或另一条?这使他能够提取所有记录,即使是他不需要的记录。。。比较数据库上的日期会更好这会让他获取所有记录,甚至是他不需要的记录。。。最好比较数据库上的日期