0
我有以下方法:LINQ的聯盟操作
public IList<Book> Search(IList<int> genre)
{
IQueryable<Book> books = database.Books;
if (genres.Count > 0)
{
books = books.Include("Genres");
foreach (int genreId in genres)
{
books = books.Union(books.Where(b => b.Genres.Any(g => g.Id == genreId)));
}
}
return books.ToList()
}
其停止在最後一行的工作。爲什麼?也許有人知道更有效的方式來獲得屬於相應類型ID的所有實體?
你是什麼意思由停止工作?該查詢在那個時間點被解析,所以如果查詢花費太長時間,它將一直呆在那裏,直到結果準備就緒。爲了更好地實現'.Contains' –
如果你的意思是下一行在調試時不會運行,請在它之間放一個'try catch'並獲取異常消息以查看錯誤 –
它顯示什麼錯誤? –