我想調用下面的查詢字符串,但我在客戶端收到'無數據'消息 - 'api/data?id = 786,899 & price_type = cvr'。如何在linq查詢中使用split?
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; }
}
任何幫助將非常感激。 非常感謝。
是'c.ID'類型的字符串? – okrumnow
這是'LINQ to SQL'嗎? 「LINQ to SQL」沒有將'string.Split'轉換爲SQL。 –
hi @okrumnow,是的,這是正確的。 – user3070072