Entity Framework, эквивалентный таблице набора данныхAdapter.FillBy - PullRequest
0 голосов
/ 18 декабря 2011

Для приложения Winforms C # я ищу EF-эквивалент таблицы набора данных tableAdapter.Fill / tableAdapter.FillByBy.

Поскольку их можно было многократно использовать для пополнения GridView (Windforms), возможно, используя другое условие where.

Единственный известный мне способ заполнить / пополнить GridView из БД, используя EF с другими параметрами:

this.myBindingSource.DataSource =  myNewSelectQueryObject;

первая заливка с этим работает нормально, но вторая приведет к невозможности редактирования DataSource и GirdView. (Хотя BindingSource и GridView НЕ являются «только для чтения».) A, d EF.Refresh () не обновляет записи, которые могут быть в БД, но отсутствуют в «EF».

Спасибо за вашу помощь.

PS: И вот некоторый прогресс:

Refill(){
this.myDataEntities.Refresh(System.Data.Objects.RefreshMode.StoreWins, this.myDataEntities.myEntity);
this.myBindingSource.DataSource = myNewObjectQuery<...>;
this.myRadGridView.DataSource = this.myBindingSource.DataSource;
}

опционально с:

this.myRadGridView.MasterTemplate.DataSource = this.myBindingSource.DataSource;

не уверен, что это полезно.

RadGridView больше не «явно доступен для чтения».

Но затем я хочу добавить запись через мой BindingSource: this.myBindingSource.AddNew (); Это не появляется в моем RadGridView. Хотя я все еще могу добавить запись и сохранить ее, нажав на инструмент «Нажмите здесь, чтобы добавить новую строку» из RadGridView.

Так что есть некоторое несоответствие между BindingSource и сеткой.

1 Ответ

0 голосов
/ 18 декабря 2011

Кажется, что решение было сделать что-то вроде этого:

Refill(){
this.myDataEntities.Refresh(System.Data.Objects.RefreshMode.StoreWins, this.myDataEntities.myEntity);
this.myBindingSource = new BindingSource();
this.myBindingSource.DataSource = myNewObjectQuery<...>;
this.myRadGridView.DataSource = this.myBindingSource;

}

Важным отличием является "новый источник привязки ()".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...