2015-04-03 45 views
0

我不知道這裏發生了什麼,想知道是否有人可以解決我的問題。 我試圖用我的數據庫中的「Jerry」替換所有名稱爲< = 2的teacher_Id。當嘗試更改我的數據庫時,Foreach下劃線

在foreach是強調一個錯誤,並說:

無法轉換類型 '字符串' 到 'Project.TeacherDetail'

private void button3_Click(object sender, EventArgs e) 
    { 
     ProjectDBDataContext Context = new ProjectDBDataContext(); 
     var r = 
       from b in Context.TeacherDetails 
       where b.TeacherId <= 2 
       select b.First_Name ; 

      foreach (TeacherDetail b in r)    
       b.First_Name = "Jerry"; 

      Context.SubmitChanges(); 


    } 

任何幫助,將不勝感激很多

+0

'TeacherDetail'類的實現是什麼? – 2015-04-03 14:10:55

+2

將'select b.First_Name'更改爲'select b' – Jonesopolis 2015-04-03 14:12:31

+0

TeacherDetails是我的數據庫中的表格 – mot375 2015-04-03 14:20:23

回答

0

假設;

public class TeacherDetails 
{ 
    public string First_Name { get; set; } 
    //.... 
} 

您需要像這樣實現它;

private void button3_Click(object sender, EventArgs e) 
{ 
    ProjectDBDataContext Context = new ProjectDBDataContext(); 
    var r = 
      from b in Context.TeacherDetails 
      where b.TeacherId <= 2 
      select b; //Remove .First_Name here 

    foreach (TeacherDetail b in r)    
     b.First_Name = "Jerry"; 

    Context.SubmitChanges(); 
} 

你被選擇stringselect b.First_Name,而你會然後在它循環,好像它是在你的foreach一個TeacherDetail

+0

對不起,我不是100%你告訴我要做的事情。你是否要求我在按鈕之外創建一個新課程? – mot375 2015-04-03 14:18:02

+0

不,我只是假設'First_Name'被實現爲一個字符串。如前所述,只需將'b.First_Name'改爲'b'。 – 2015-04-03 14:18:58

相關問題