我是Linq
中的新成員,所以我有下面這些情況。不能將類型'System.Linq.IQueryable'隱式轉換爲'System.Data.Entity.DbSet'
現在下面的錯誤在編譯過程中,說Cannot implicitly convert type 'System.Linq.IQueryable' to 'System.Data.Entity.DbSet'.
var query = _db.Products;
if (bool) {
query = query.Where(p => p.Id == id);
}
所以我試圖改變var
到IQueryable
和它的作品。
IQueryable<Product> query = _db.Products;
if (bool) {
query = query.Where(p => p.Id == id);
}
但是,然後,我試圖再次改變它(見下文),它的工作原理。
var query = from product in products
select product;
if (bool) {
query = query.Where(p => p.Id == id);
}
而我只是想知道爲什麼另一個可以工作,但另一個不是。
一個很好的例子說明可能會有所幫助。謝謝
你可能會丟失'使用System.Data.Entity;' –
即使我有那個名字空間,仍然錯誤。但我上面的代碼工作。只是想知道爲什麼。 –
剛纔有同樣的問題,並通過'var query = db.Products.Select(x => x)'等價來解決它;'是的,它對我來說確實也很奇怪。 –