如何使用可空日期时间搜索日期?

时间:2013-12-05 12:02:09

标签: entity-framework asp.net-web-api

我有以下方法:

    [HttpGet]
    public IEnumerable<database_WICs> GetDate(DateTime? start, DateTime? end)
    {
        var data = from c in db.database_WICs
                   where c.UploadDate.Value.Date <= start &&
                   c.UploadDate.Value.Date >= end
                   select c;
        return data.ToList();
    }

我目前遇到“使用以下查询字符串在LINQ to Entities中支持指定的类型成员'日期'”异常错误:api / data?start = 25/11 / 2013&amp; end = 28/11 / 2013

我是新手编程学生,所以请原谅我的知识和愚蠢的错误。

由于

1 个答案:

答案 0 :(得分:1)

使用TruncateTime方法如下:

[HttpGet]
public IEnumerable<database_WICs> GetDate(DateTime? start, DateTime? end)
{
    DateTime startDate = Convert.ToDateTime(start).Date;
    DateTime endDate = Convert.ToDateTime(end).Date;
    var data = from c in db.database_WICs
               Where(c => EntityFunctions.TruncateTime(c.UploadDate) <= startDate
                 &&  c => EntityFunctions.TruncateTime(c.UploadDate) >= endDate)
               Select c;
    return data.ToList();
}