我使用Entity Framework构建了一个asp.net Web应用程序Webforms,我找到了两种方法来绑定ListView: 1-通过DataSource像这样
void Bind()
{
var search = db.Search.Where(k => k.RequestId == RequestId);
lstSearch.DataSource = search.ToList();
lstSearch.DataBind();
}
2-使用SelectMethod像这样
public IQueryable<Search> BindOrders()
{
var search = db.Search.Where(k => k.RequestId == 12).AsQueryable();
return search;
}
哪一个最好,为什么?
答案 0 :(得分:1)
SelectMethod
以及将数据绑定到Web控件的许多其他功能在.NET Framework 4.5
中作为强类型数据绑定引入。通过这些功能,您可以以干净,可维护的方式处理从/向Web控件创建/删除/修改/过滤的数据。
另一方面,DataSource
方式是将数据绑定到Web控件的旧方法。
我建议你阅读this博客,其中详细介绍了这个主题(ScottGu&#39;):
ASP.NET vNext中的新模型绑定支持是一个很好的演变 现有的Web Forms数据绑定系统。它借用了概念和 ASP.NET MVC中的模型绑定系统的功能(您将看到这一点 更多在以后的帖子中),并使处理以代码为中心的数据访问 范式更简单,更灵活。
另外,请检查使用IQueryable<Object>
的{{3}}:
从用户的角度来看,主要区别在于,当您使用时 IQueryable(使用正确支持的提供程序),您 可以节省很多资源。