【发布时间】:2026-01-29 20:45:01
【问题描述】:
我有两种非常相似的方法:
public IQueryable<User> Find(Func<User, bool> exp)
{
return db.Users.Where(exp);
}
public IQueryable<User> All()
{
return db.Users.Where(x => !x.deleted);
}
上面那个,不会编译,说它返回IEnumerable而不是IQueryable。
这是为什么?
另外,我知道我可以在最后添加“AsQueryable()”,它会起作用。但这有什么区别?有什么性能命中吗?我了解 IQueryable 已延迟执行等,我还能获得此好处吗?
【问题讨论】:
标签: c# linq-to-sql iqueryable