C#LINQ更新语句

时间:2011-12-13 13:26:22

标签: c# linq-to-sql

所以我根据LINQ模型工作,并希望使用where语句进行更新,但我不知道如何传递我的2个ID ...

这是我的代码...... 我的表格中的sc:

tblEvk p= new tblEvk();
            p.fk_externvakID = currentCategoryId;
            p.fk_studentID = 2;

bll:

 public void update(tblEvk p)
{
    DALstudent.update(p);
}

DAL

 public void update(tblEvk s)
{
    var recordToUpdate = (from p in dc.tblEvks
                          where p.fk_studentID == id && p.fk_externvakID = vakid
                          select p).Single();

    recordToUpdate.evkBijlageGepost = 1;
    dc.SubmitChanges();
}

问题是我如何通过这些变量?使用插入我可以只做公共void插入(int id int vakid),但我不能用更新:(

2 个答案:

答案 0 :(得分:4)

我不是我理解你,但为什么不:

public void update(tblEvk s)
{
    var recordToUpdate = (from p in dc.tblEvks
                          where p.fk_studentID == s.fk_studentID && p.fk_externvakID = s.p.fk_externvakID
                          select p).Single();

    recordToUpdate.evkBijlageGepost = 1;
    dc.SubmitChanges();
}

答案 1 :(得分:2)

如果idvakid是传递给更新方法的实体tblEvks的两个属性,那么您可以执行以下操作:

var recordToUpdate = (from p in dc.tblEvks
                          where p.fk_studentID == s.id && p.fk_externvakID = s.vakid
                          select p).Single();