- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
因此 IQueryable 允许您的查询在数据库级别执行,而不是像 IEnumerable 那样在内存中的对象集合上执行。如果我有一个 IEnumerable 并在其上调用 AsQueryable() 扩展方法,这是否意味着它现在是一个 IQueryable 并且所有调用都将在数据库中执行?或者 IEnumerable 是否已加载到内存中?
我知道 IEnumerable 已延迟执行,那么这是否意味着在迭代集合之前调用 AsQueryable 将使它的所有查询都在数据库中执行?
抱歉,我是新手,这一切都很困惑。
PS - 我在 EF 4.0 中使用 LINQ to Entities。
最佳答案
如果您拥有的对象(如 IEnumerable<T>
)也实现 IQueryable<T>
那么你可能很幸运,但在一般情况下:不。也许除了那个极端情况之外,为时已晚,您不能再“组合”查询(即添加一个将由数据库处理的“where”条件)。相反,您拥有的是 LINQ-to-Objects 尽其所能使看起来可查询。但是数据将从底层可枚举中线性消耗。
关于c# - .AsQueryable() 是否阻止 IEnumerable 将所有内容拉入内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4704261/
我在使用 AsQueryable 时遇到问题,我发现了一些示例,其中此扩展需要强制转换,即 AsQueryable,在某些示例中,直接转换为 AsQueryable()。我用 Stopwatch 检查
也许这是个简单的问题,但是AsQueryable()有一些性能损失? 一般来说,我们正在使用 RavenDB,并且我们有这样的现有代码 protected override IQueryable Qu
我正在使用 mongoDB C# 驱动程序 2.4.0,当我尝试使用 LINQ 时出现错误: Method not found: 'MongoDB.Driver.Linq.IMongoQueryabl
AsQueryable() 的目的是为了让您可以将 IEnumerable 传递给可能需要 IQueryable 的方法,还是有一个将 IEnumerable 表示为 IQueryable 的有用理由
我是 mongodb 的新手,正在尝试在我的应用程序中使用 mongodb 实现存储库模式。所以我的问题是当我使用以下查询查询数据库时: _mongodb.GetCollection(typeof(T
示例代码: List Students = new List() { new Student(101, "Hugo", "Garcia", new List() { 91, 88, 7
我遇到了以 (...).ToList().AsQueryable() 结尾的 linq 查询。我知道分别使用 .ToList() 和 .AsQueryable() 。但是,如果两者结合,结果会怎样呢?
如果给定任何参数“名称”和“价格”或仅提供名称,我正在尝试让我的查询输出所有数据。我尝试使用 'Any' 参数,但它给了我 -- Cannot implicitly convert type 'boo
因此 IQueryable 允许您的查询在数据库级别执行,而不是像 IEnumerable 那样在内存中的对象集合上执行。如果我有一个 IEnumerable 并在其上调用 AsQueryable()
我在 C# 中使用最新的 ServiceStack OrmLite(当前为 v4.5.6) 我需要从一个方法返回 asQueryable,例如; using (IDbConnection da
我有一个通用字典,它传递给一个只接受 IQueryable 作为参数的方法 是否可以将可查询对象转换回原始字典?我并不是说用 .ToDictionary(...) 创建一个新字典 private st
我正在使用 Entity Framework CodeFirst,其中我使用 ICollection 作为 Parent Child 关系 public class Person { publi
我有两个模型,一个用户和一个团队,如下所示: [BsonRepresentation(BsonType.ObjectId)] public ObjectId _id { get; se
我开始使用存储库模式通过 Entity Framework 进行数据访问和 LINQ作为非测试存储库实现的基础。当调用返回 N 条记录而不是 List 时,我看到的大多数示例都会返回 AsQuerya
我知道第一个实现的 LINQ to Entities 和 LINQ to Objects 的一些区别 IQueryable和第二个工具 IEnumerable我的问题范围在 EF 5 之内。 我的问题
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topi
我有一个扩展方法可以对 IEnumerable 和 IQueryable 进行操作。该方法解析输入并在最后调用 Skip().Take()。 public static IEnumerable Sel
我正在尝试向 MongoDB 编写 LINQ 查询: using MongoDB.Driver; using MongoDB.Driver.Linq; namespace ConsoleApplica
案例 1:我在两个上下文中通过 ToList() 方法加入了两个不同的数据库上下文。 案例 2:并且还尝试使用 ToList() 加入第一个 Db 上下文,然后使用 AsQueryable() 加入第
我有这个 if 语句,它将结果作为 AsQueryable 返回到匿名类型: If (signature = "") Then testResults = (From
我是一名优秀的程序员,十分优秀!