讓字符串項目等於「p1,p2,p3」,並在數據庫中每個的標識符存在如下p1 = 1,p2 = 2,p3 = 3。只有第一個項目在列表中正在返回我的查詢中,有關爲什麼?Linq查詢只返回數組的第一項
private List<int> getProjects(string projects)
{
String[] projectArray = projects.Split(',');
QMOIIEntities db = new QMOIIEntities();
var projectList = db.wbs_projects
.Where(x => projectArray.Contains(x.prjName))
.Select(x => x.prjID).ToList();
return projectList;
}
* * UPDATE 這個問題是空白的字符串中我改變
String[] projectArray = projects.Split(',');
到
String[] projectArray = projects.Trim().Split(',');
這看起來像一個數據相關的問題。你可以給出db.wbs_projects的外觀樣本數據嗎? –
您的縮進非常混亂 - 將'Contains'調用放在與Where調用相同的行上會更好,因爲它是其中的一部分 - 不是它的同位體,這是您的格式設置使它看起來像。 –
你是否三重檢查了'projectArray'包含了你認爲它所做的事情?對於Db也是一樣。 'P2'或'p2'而不是'p2'就可以做到。 –