Я новичок в Linq
, и поэтому у меня есть следующая ситуация.
Теперь, когда ошибка во время компиляции, говорит 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);
}
И я просто хочу знать, почему другой работает, а другой нет.
Хорошее объяснение с примером может помочь. Благодаря