XtraGrid, связанный с Entity FrameWork - как отправить данные обратно в базу данных?

1) У меня есть 2 таблицы InclusiveProducts {ID} и Products {ID, Имя, Код}

2) В элементе управления xtraGrid я хочу показать список продуктов, у которых есть свои идентификаторы в таблице IncludedProducts, с возможностью добавления новых продуктов с помощью встроенных редакторов GridLookUpEdit и передачи данных обратно в базу данных (сохранение изменений в таблице IncludedProducts) после нажатия пользователем кнопка "Сохранить"

Например

Стол продуктов

|ID|Name  |Code|
|1 |Lemon |L01 |
|2 |Apple |A01 |
|3 |Cheese|C01 |
|4 |Bread |B01 |

Таблица продуктов

|ID|
|3 |

В приложении мне нужно

1) Контроль XtraGrid, чтобы показать

|Name  |Code|
|Cheese|C01 | 

2) когда я начну печатать в каждом из столбцов XtraGrid, должна появиться выпадающая сетка. Когда я выбираю элемент из выпадающей сетки, он должен заполнять ОБА (()) столбцы (чтобы добиться этого, я должен установить ValueMember=ID для столбцов Имя и Код)

3) при нажатии на кнопку "Сохранить" необходимо обновить данные в таблицу IncludedProducts (содержит только столбец идентификаторов)

Часть, которую я не понимаю

Чтобы отобразить значения "Код" и "Имя" в элементе управления XtraGrid, я должен установить DataSource, который содержит столбцы "ID", "Имя" и "Код" (для DisplayMember хранилища редактора на месте) (что будет объединением таблиц Products и IncludedProducts), верно? Но когда я хочу сохранить данные в базе данных, я хочу, чтобы они были записаны в таблицу IncludedProducts, в которой хранится только столбец идентификаторов.

Как я могу это сделать?

PS Я хочу достичь этого, используя модель Entity Framework, а не DataSets. Не могли бы вы дать мне некоторые рекомендации?

Это то, над чем я работал до сих пор (только загрузка данных из БД, установка редакторов на месте, но без удачи отправка данных обратно в базу данных) проблемы с настройкой XtraGrid с помощью редакторов на месте (с использованием GridLookUpEdit)

1 ответ

Решение

Проблема заключалась в том, что у меня фактически был дополнительный столбец в таблице IncludedProducts, когда я добавил его в xtraGrid и предоставил допустимое значение, обновление таблицы IncludedProducts прошло успешно.

Другие вопросы по тегам