Web API在响应中给出null

Fai*_*sal 0 c# rest response asp.net-web-api

我开发了一个带有web api两个参数的日期时间(开始和结束),然后应该给出不同的记录.

public HttpResponseMessage GetMeterPing(DateTime start, DateTime end)
    {
        try
        {


            var startDateTime = start;
            var endDateTime = end;

            var result = medEntitites.tj_xhqd.Where(m => m.sjsj >= startDateTime && m.sjsj <= endDateTime)
                                             .OrderByDescending(o => o.sjsj)
                                             .Select(s => new { s.zdjh, s.sjsj, s.xhqd })
                                             .Distinct()
                                             .FirstOrDefault();                                             


            return Request.CreateResponse(HttpStatusCode.OK, new { data = result });


        }
        catch (Exception ex)
        {
            return Request.CreateErrorResponse(HttpStatusCode.NotFound, ex);
        }
    }
Run Code Online (Sandbox Code Playgroud)

API网址: http://localhost:14909/api/meters/GetMeterPing/2018-04-28T00:00:00/2018-04-27T23:59:59

当我运行web-api它时,它给了我

{ "数据":空}

同时在调试时result也是如此null

任何帮助将受到高度赞赏

K. *_*tes 5

您对问题的描述听起来像您正在执行的Linq查询没有返回任何结果,因此您的调用FirstOrDefault是默认的,也就是说它返回null.然后,您不执行其他验证,并使用此行集的结果作为具有data属性的匿名投影的值进行响应.