嘗試扭轉你的邏輯,用戶名永遠不會包含字符串列表,但字符串列表可能包含用戶名:
public ActionResult Index(string author= null)
{
var authors= author.Split(',');
var data = db.ComicAuthors.Where(i => authors.Contains(i.User.UserName));
return View();
}
*請注意,您可能需要先拉動所有ComicAuthors,因爲您可能會收到「Expression無法轉換爲SQL表達式」類型的錯誤消息。
public ActionResult Index(string author= null)
{
var authors= author.Split(',');
var data = db.ComicAuthors.ToList().Where(i => authors.Contains(i.User.UserName));
//May want to actually send data back to view
return View(data);
}
附錄
如果要檢查有沒有作者確定的情況下,只要做對筆者串快速布爾檢查:
public ActionResult Index(string author= null)
{
var data = db.ComicAuthors.ToList()
if(!string.IsNullOrEmpty(author)){
var authors= author.Split(',');
data = data.Where(i => authors.Contains(i.User.UserName));
}
//May want to actually send data back to view
return View(data);
}
快速第二個問題,如果我不能爲作者提供任何東西,我該如何重複使用查詢並將其置於所有漫畫作者的位置? –
@MohamadBataineh - 更新來解決您的額外問題 – Tommy
是的,我只是意識到,你可以把它分開。謝謝您的幫助! –