3.5版本中的linq到sql实用吗? 在 Visual Studio 界面中需要将数据表存储过程或拖放到对象关系设计器中,也就是要建立DataContext对象,如果数据表中有成千上万条记录,那岂不是很占用系统内存?
下面这段代码就可以看出来,它把全部的记录都读进内存了。
/// <summary>
/// 获得所有订单
/// </summary>
/// <returns></returns>
public DataTable getorder()
{
//声明定义类型和方法的DataModelDataContext类的对象,它是调用模型和方法的基础。
DataModelDataContext data = new DataModelDataContext();
//调用方法(存储过程)Pr_getorder获得所有订单
var result = data.Pr_getorder();
///定义保存从数据库获取的结果的DataTable
DataTable table = new DataTable();
//把LINQ查询结果集转化为DataTable
table = result.CopyToDataTable();
return table;
}
而在以前我手工写访问数据表的代码,用户页面上要显示几条记录(可以分页的),就能从数据库中读出相应的几条记录,所以我想请教的是linq到sql实用吗? ------解决方案-------------------- linq主要和MVC一起使用,效率不如ADO 但是很方便。 ------解决方案-------------------- linq to sql也可以分页啊。
类似
/// <summary>
/// Gets the products page by page.
/// </summary>
/// <param name=”startingPageIndex”>Index of the starting page.</param>
/// <param name=”pageSize”>Size of the page.</param>
/// <returns>The list of products in the specified page</returns>
private IList<Product> GetProducts(int startingPageIndex, int pageSize)
{
using (NorthwindDataContext context = new NorthwindDataContext())
{
return context.Products
.Take<Product>(pageSize)
.Skip<Product>(startingPageIndex * pageSize)
.ToList<Product>();
}
}