對於Winforms C#應用程序,我正在查找數據集的tableAdapter.Fill/tableAdapter.FillByBy的EF等效項。實體框架等效於數據集的表格Adapter.FillBy
因爲它們可重複使用來重新填充GridView(Windforms),可能使用不同的where子句。
我知道填寫的唯一方法/填充現在用EF使用不同的參數從DB在GridView:
this.myBindingSource.DataSource = myNewSelectQueryObject;
「第一補」這個工作正常,但第二個將導致數據源等GirdView無法編輯。 (雖然GridView的BindingSource不是「只讀」的。)a,d EF.Refresh()似乎沒有更新可能存在於數據庫但不存在於'EF'中的記錄。
謝謝你的幫助。
PS:這裏是迄今爲止取得了一些進展:
this.myRadGridView.MasterTemplate.DataSource = this.myBindingSource.DataSource;
不知道這是否是有用的:
Refill(){
this.myDataEntities.Refresh(System.Data.Objects.RefreshMode.StoreWins, this.myDataEntities.myEntity);
this.myBindingSource.DataSource = myNewObjectQuery<...>;
this.myRadGridView.DataSource = this.myBindingSource.DataSource;
}
與
optionnally。
RadGridView不再是'顯然只讀'。
但是,我想通過我的BindingSource添加一條記錄: this.myBindingSource.AddNew(); 它沒有出現在我的RadGridView中。 雖然我仍然可以添加一條記錄並通過點擊使用RadGridView中的'點擊此處添加新行'工具來保存它。
因此,BindingSource和網格之間存在一些不匹配。