c# LINQ更新语句

本文关键字:语句 更新 LINQ | 更新日期: 2023-09-27 18:17:47

所以我根据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);
}
木豆

 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),但我不能这样做与更新:(

c# LINQ更新语句

我不是我明白你的意思,但是为什么不呢:

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();
}

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

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