我有一个linq查询,它从customer表中获取所有记录到一个可观察的集合,如下所示:
customerList = new ObservableCollection<customer>(dbContext.customers);
dgRecords1.ItemsSource = customerList;
Run Code Online (Sandbox Code Playgroud)
该列表绑定到数据网格.customer表包含近百个字段.但是我只在数据网格上显示了几个字段.我的问题是
是否只使用linq查询从数据库中引入选定的字段可以提高客户屏幕的速度?
我需要过滤并有时删除此列表中的记录.
哪个是选择几个字段到可观察集合的最佳方法,有人可以提供一些示例linq查询吗?
优化速度的提示:
ObjectTrackingEnabled在LINQ-to-SQL中)将减少后处理数据的开销......但是坦率地说,当我们遇到这个问题时,我们通过写"小巧玲珑","老去"来解决它"一劳永逸":
var list = connection.Query<CustomerViewModel>(
"select {some specific cols} from Customers").ToList();
Run Code Online (Sandbox Code Playgroud)
哪里CustomerViewModel是与LINQ等无关的简单POCO类型,只有所需的值,例如:
class CustomerViewModel {
public int Id {get;set;}
public string Name {get;set;}
// ...
}
Run Code Online (Sandbox Code Playgroud)
这可以减少所有不必要的开销,是您只想显示数据的理想选择.此外,参数化和实现层非常优化(使用策略缓存,以获得最佳性能).
| 归档时间: |
|
| 查看次数: |
12463 次 |
| 最近记录: |