我正在尝试调用以下查询字符串,但我在客户端收到“无数据”消息 - 'api / data?id = 786,899& price_type = cvr'。
public HttpResponseMessage Get([FromUri] Query query)
{
var data = db.database_ICs.AsQueryable();
if (query.id!= null)
{
data = data.Where(c => query.id.Split(',').Contains(c.ID));
}
if (query.price_type != null)
{
data = data.Where(c => c.Cover == query.price_type);
}
if (!data.Any())
{
var message = string.Format("No data was found");
return Request.CreateErrorResponse(HttpStatusCode.NotFound, message);
}
return Request.CreateResponse(HttpStatusCode.OK, data);
}
public class Query
{
public string id{ get; set; }
public string price_type { get; set; }
public Nullable<DateTime> startDate { get; set; }
public Nullable<DateTime> endDate{ get; set; }
}
非常感谢任何帮助。 非常感谢。
答案 0 :(得分:0)
var data = db.database_ICs.AsQueryable();
if (!string.IsNullOrEmpty(query.id))
{
var ids = query.id.Split(',').ToList();
data = data.Where(c => ids.Contains(c.ID));
}
假设c.ID和ids元素当然属于同一类型。 编辑:检查是否有查询字符串的一种方法