我发布了an article on my website,涵盖LINQ to SQL中的基本CRUD功能,并获取行集合并将其绑定到gridview,我使用查询的.ToList()方法。
我被告知这个速度相当慢(使用至少6个内存分配)。不幸的是,告诉我这个的人不能建议更快的方法,我可以看到,如果查询返回很多行,这可能会非常昂贵。
以下是我的快速参考代码:
private void loadUsers()
{
var users = (from u in we.users
select u).ToList();
gvItems.DataSource = users
gvItems.DataBind();
}
在查询返回数十万或数百万的行数之前,我不认为性能上的任何损失都是悲剧性的,但任何人都可以提出更有效的替代方案吗?
答案 0 :(得分:3)
是的替代方法是删除.ToList()
并将GridView直接绑定到IEnumerable
的查询。在您的情况下直接到表,因为查询是不必要的。
gvItems.DataSource = we.users;