0
我試圖從下面的代碼執行以下調用(「api/test/sin = 2129VAH99,8974922 & sip = 108124AG3」),但我似乎無法讓調用工作,因爲它始終與'無數據'錯誤。如何在linq中查詢多個'Split'?
public HttpResponseMessage Get([FromUri] Query query)
{
var data = db.database_Items.AsQueryable();
if (!String.IsNullOrEmpty(query.sip))
{
var ids = query.sip.Split(',').ToList();
data = data.Where(c => ids.Any(i => (c.SIP != null && c.SIP.Contains(i))));
}
if (!String.IsNullOrEmpty(query.sin))
{
var ids = query.sin.Split(',').ToList();
data = data.Where(c => ids.Any(i => (c.SINs != null && c.SINs.Contains(i))));
}
if (!data.Any())
{
return Request.CreateErrorResponse(HttpStatusCode.NotFound, message);
}
return Request.CreateResponse(HttpStatusCode.OK, data);
}
任何幫助/指導將非常感激。非常感謝。
假設你正在尋找完整的'SIP' /'SIN'字符串,可能你的意思'data = data.Where(c => c.SIP!= null && ids.Contains(c.SIP));'? – StuartLC
感謝您的回覆。我嘗試過使用上面提到的語句,還有更多類似的內容,但不幸的是,我仍然在api調用的客戶端遇到了「無數據錯誤」。 – user3070072