我有一個數據綁定列表框,它是使用EF 4.1模型首先構建的。所以我所有的課程都是爲我而建的。因爲我有三個控件反映了從外鍵追溯的表數據。 this.lstBox2.ItemSource = entityContext.TableObject2.ToList()將返回每個記錄。不是M-D顯示的外鍵約束所限制的記錄。向EF 4.1添加記錄並不反映在列表框
TableObject2 class2 = new TableObject2();
class2.value1 = 0;
class2.value2 = "new location";
using (TKOEntities entityContext = new TKOEntities())
{
entityContext.TableObject2.AddObject(class2);
entityContext.SaveChanges();
this.lstBox2.ItemsSource = null;
}
SaveChanges確實將數據更新到數據庫中。但是控件不刷新(this.lstBox2.Refresh()不起作用)。如果我嘗試將值設置爲控件。我也得到美國ItemControl.ItemSource錯誤。如何將控件的更新值分配給entitycontext?
this.lstBox2.ItemsSource = entityContext.TableObject2.ToList();將返回所有內容並重新加載控件中的數據,但它是一切,並不限於Master-Detail在第一個控件上選擇的內容。 – 2013-04-04 16:43:28
然後,您需要在執行ToList()之前應用選擇過濾器,並傳遞第一個控件具有的選定值。 – crizzwald 2013-04-04 16:45:27
或使用Include方法並傳遞TableObject2作爲其選擇器以通過fk獲取相關的TableObject2對象。 var obj = entityContext.MDTable.Include(「TableObject2」)。FirstOrDefault(x => x.Id = slected.Id); this.lstBox2.ItemsSource = obj.TableObject2s.ToList(); – crizzwald 2013-04-04 16:52:10