【发布时间】:2013-09-19 10:34:56
【问题描述】:
我正在使用 Entity Framework 和 Caliburn.Micro 来实现一个 MVVM 应用程序。
基本上,我已将 AuthorModel 和 BookModel 设置为一对多关系 - 一个作者拥有多本书,而一本书只有一个作者。
我有一个 SelectBookWindow,我在其中使用 DbContext 加载 ObservableCollection<Book>,从中选择我想要查看/编辑的书。然后,我将选定的 Book 作为参数传递给 EditBookWindow,其中我有一个组合框枚举所有作者,但选择了当前作者。
在这里,我使用不同的 DbContext 实例加载 ObservableCollection<Author>,并将其设置为组合框的 ItemsSource 和 SelectedItem="{Binding Author}"。 (Author 是Book 的虚拟属性)
ComboBox 正确显示作者列表。但是,它似乎没有将 Book's Author 显示为其 SelectedItem。
这是因为我使用了不同的 DbContext 实例吗?如果是这样,我该如何解决这个问题?
【问题讨论】:
-
您可以将上下文与所选书籍一起传递到第二个窗口,但我不确定这是不是最好的主意...
标签: c# wpf entity-framework mvvm caliburn.micro