2011-12-13 79 views
0

所以我工作根據LINQ模型,並希望做一個更新使用where語句,但我不知道如何通過我的2 ID ...C#LINQ更新語句

這是我的代碼。 .. 從我的形式SC:

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

業務邏輯層:

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

問題是我該如何傳遞這些變量?使用插入我可以做公共無效插入(INT ID INT vakid),但我不能有更新:(

+0

我認爲這只是'那裏p.fk_studentID == s.fk_studentID && ... ' –

回答

2

如果idvakid傳遞給更新方法的實體tblEvks的兩個屬性,那麼你可以做到以下幾點:

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

我不是我理解你的權利這樣做,但爲什麼不:

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