У меня есть простая база данных SQLite, которую я использую для отслеживания счетов. Недавно я решил написать заявку на нее в качестве предлога для изучения LINQ. Я нашел другие вопросы , которые касаются этой проблемы, но ни одно из решений не помогло мне.
Используя конструктор O / RM, я смоделировал свою базу данных следующим образом (упрощенно):
+------------+ +----------+
| Invoice | | Customer |
+------------+ +----------+
| ID | +----| ID |
| CustomerID |<-----+ | Name |
+------------+ +----------+
Это прекрасно работает для привязки таблицы счетов к списку и просмотра списка клиентов, но я не совсем понимаю, как привязать таблицу клиентов к ComboBox
, показывая Customer
для счета.
Вот код, который устанавливает привязку:
InvoiceList.DataSource = _db.Invoices; // InvoiceList is ListBox
CustomerBox.DataSource = _db.Customers; // CustomerBox is ComboBox
CustomerBox.DataBindings.Add("SelectedItem", InvoiceList.DataSource, "Customer");
В этом случае _db
- это DataContext
, сгенерированный O / RM.
Когда я выбираю разные позиции в списке счетов, в окне клиента не отображаются какие-либо сделанные мной изменения. Любые указатели, как это исправить? Есть ли лучший способ установить эту привязку?