2.4.4、更新数据
针对于数据的更新,LINQ操作也是比较简单的,它仅需要对一个已有的实体中的元素进行重新赋值,并执行SubmitChanges即可完成对数据库的更新操作。
例:
UsersDataContext dal = new UsersDataContext();
User user = dal.Users.FirstOrDefault(s => s.UserName == "guitarpark");
if (user != null)
{
user.UserPass = "newpassword";
}
dal.SubmitChanges();
通过例子我们看到,LINQ对数据的更新是相当的便捷的,在数据更新的时候我们要注意,当前实体必须存在,否则会报异常,故我们在进行数据操作的时候一般都会使用FirstOrDefault函数并判断当前返回的实体是否存在。
2.4.7操作存储过程
当然,LINQ也提供了对存储过程的操作,我们通过例子来讲解如何操作存储过程。
首先,我们先建立一个名为getAllUser的存储过程来获得所有的用户信息。
create procedure getAllUser
as
select * from users
打开Linq to Sql 设计器,并在数据库浏览器中找到此存储过程,并拖拽到设计器中,此时我们就会发现,这个存储过程已经被映射成了一个方法。
那么我们该怎么操作这个存储过程呢?请看以下代码
UsersDataContext dal = new UsersDataContext();
GridView1.DataSource = dal.getAllUser();
GridView1.DataBind();
现在看整个操作,是不是很简单呢。而且,我们还可以对此存储过程在来进行LINQ操作,例如对结果排序:
UsersDataContext dal = new UsersDataContext();
GridView1.DataSource = dal.getAllUser().OrderByDescending(s => s.ID);
GridView1.DataBind();
当然,我们实际过程中存储过程往往不是这么简单,有时会是两个元素的集合或需要返回参数等等复杂操作,我们将留到下一节来介绍。
2.4.8 操作视图
当然LINQ也是可以操作视图的,由于LINQ操作视图和操作存储过程在实现方法上相同,我们就不再介绍,请大家参照存储过程的说明实际操作。
评论 (0)