我使用MySQL
DB创建了一个WEB API。根据我发送的YES
或NO
数据。
API如何运作?
我正在传递一个仪表序列号和一个日期时间。 API接收它们。 + - 时间分钟并显示该时间的所有记录。
有什么问题?
对于我发送的API,我总是得到YES
回复。
以下是我的代码
public class ResponseChecker
{
public string Response { get; set; }
public ResponseChecker(IEnumerable result)
{
if (result.ToString().ToList().Count()>0)
{
Response = "Yes";
}
else
{
Response = "No";
}
}
}
public MDCEntities medEntitites = new MDCEntities();
try
{
var before = dt.AddMinutes(-5);
var after = dt.AddMinutes(5);
var result = medEntitites.tj_xhqd
.Where(m =>
m.zdjh == msn &&
m.sjsj >= before &&
m.sjsj <= after).Select(m => new { MSN = m.zdjh, DateTime = m.sjsj, Signal_Strength = m.xhqd }).Distinct();
return Request.CreateResponse(HttpStatusCode.OK, new { data = new ResponseChecker(result)});
}
catch (Exception ex)
{
return Request.CreateErrorResponse(HttpStatusCode.NotFound, ex);
}
我得到的回应如下
{
"data": {
"Response": "YES" }
}
我已经尝试过各种方法来检查result
中的任何空记录,因为我累了== null
,!= null
,.Any()
等等。但仍无法得到我的期望的结果。
部分result.ToString().ToList().Count()>0
也总是给我true
任何帮助都将受到高度赞赏。
答案 0 :(得分:1)
您是否尝试过打印这样的结果?
if (result.ToString().ToList().Count()>0)
你可以这样做:
var result = medEntitites.tj_xhqd
.Where(m =>
m.zdjh == msn &&
m.sjsj >= before &&
m.sjsj <= after).Select(m => new { MSN = m.zdjh, DateTime = m.sjsj, Signal_Strength = m.xhqd }).Distinct().ToList();
只需简单计算即可验证结果的数量。