是否有可能將此代碼轉換爲一個LINQ查詢。我可以發誓我之前曾做過這樣的事情,但我無法弄清楚代碼可能在哪裏。我想要執行一個子查詢並修改所選項目的值,如果一個列表具有另一個列表的值。將多個LINQ查詢轉換爲1?
var selectInstructors = _instructorService.GetAllNonGuestInstructors()
.Select(i => new SelectListItem()
{
Text = i.User.ToFullName(),
Value = i.Id.ToString()
}).ToList();
var selectedItems = schedule.Instructors
.Select(instructior1 => selectInstructors.FirstOrDefault(s => s.Value == instructior1.Id.ToString()))
.Where(selectedItem => selectedItem != null);
foreach (var selectedItem in selectedItems)
{
selectInstructors.Remove(selectedItem);
selectedItem.Selected = true;
selectInstructors.Add(selectedItem);
}
因此,讓我們在selectInstructors
列表假設我有這些值: 約翰·史密斯,1 李四,2 戴夫·裏特,3 (我們反覆持久性教官之前selected
布爾值是默認假)
的schedule.Instructors
類有教師,該計劃的持久列表: 約翰·史密斯,1 戴夫·裏特爾,3
現在,我想要做的是設置任何Selected
性質的selectInstructors
什麼當值等於schedule.Instructors
你能否澄清你想達到的目標?即涉及哪些實體,它們的關係是什麼以及您的輸出應該是什麼?代碼是相當混亂... – Spikeh 2012-07-28 13:50:41
@Spikeh,我認爲這將是顯而易見的我正在與一個SelectList集合,並希望設置一個布爾值,如果完整列表的ID匹配類似列表中的ID值。我會更新我想的問題。不知道爲什麼倒票。 – DDiVita 2012-07-28 14:33:06