BindingSource 中加载了多少条记录?

How many records are loaded into the BindingSource?

我一直使用 Linq,这就是为什么我总是只带来操作所需的记录 - 显然一切都是手工编码的。

现在,我正在研究数据绑定,因为我知道我可以大大加快整个过程。

但是,我对 BindingSource 的初始加载有疑问。我注意到示例代码总是包含 .Load () 命令而不指定初始过滤器。

示例:

dbContext ctx = new dbContex();
ctx.Table.Load(); <-- Here is my doubt
myBindingSource.DataSource = ctx.Table.Local.ToBindingList()

让我们假设这个 table 有 10,000 条记录。它会一次加载 10,000 条记录吗?这种操作不会导致加载很慢,占用大量网络带宽吗?

根据文档

One common way to do this is to write a LINQ query and then call ToList on it, only to immediately discard the created list. The Load extension method works just like ToList except that it avoids the creation of the list altogether.

所以,如果您只调用

ctx.Table.Load()

它将加载 table 上的所有数据。

也可以在调用Load()前查询

context.Posts.Where(p => p.Tags.Contains("Whosebug")).Load();