2015-03-13 84 views
0

我正在嘗試使用下面的代碼來執行與實體框架的表上的更新。 where語句只有在刪除和時纔會起作用,並且會帶來結果,但結果爲null。我知道我正在尋找的價值存在。多個條件與linq和列表

foreach (fdd element in FddList) 
{ 
    var slist = context.ResidenceFDDs.ToList<ResidenceFDD>(); 

    ResidenceFDD fddtoupdate = slist 
     .Where(s => 
      s.StName.Contains("Adrienne") && 
      s.StNum == element.addressnumb.ToString()) 
     .FirstOrDefault<ResidenceFDD>(); 

    fddtoupdate.Comments = "Comment newly added."; 

    context.SaveChanges(); 
} 
+0

你可以連他們,而不是如果你想調試。例如slist.Where()。Where()or slist.Where(); slist.Where() – MiniRagnarok 2015-03-13 15:27:09

+5

您確定有符合兩個條件的條目嗎?也許你有條目匹配一個或另一個,但不是兩個。 – JLRishe 2015-03-13 15:27:59

+0

杜。你認爲我不會測試這個以確保匹配的東西來臨。 。 。 。 。 。它完全不符合。我忘記了C#和Sql中的大寫和小寫。這一直是我的問題。 – 2015-03-13 16:58:43

回答

0

如果您使用的.toString()然後使用如下

ResidenceFDD fddtoupdate = slist.Where(
    s => 
     s.StName.Contains("Adrienne") && 
     s.StNum == element.addressnumb.ToString()) 
    .FirstOrDefault<ResidenceFDD>().AsEnumerable(); 
+0

我也可以刪除tostring()而不使用asenumerable?它似乎不喜歡在這個聲明中使用一個可數。 – 2015-03-13 15:53:27