0

在使用 Active Record 的 WPF 和 SubSonic 2 中,我能够绑定到一个表中的行中的属性,并轻松地按照外键引用(返回外键行表示的属性)绑定到外键表中的字段。使用 SubSonic 3 和 ActiveRecord,我不太确定如何(轻松地)做到这一点。看起来外键引用返回 IQueryable(Of T) ,它没有获取外键行的属性。但是,有一些功能(First 和 Single)可以完成我想要的。

例如,假设我有一个 Employee 表,其中一个外键引用了一个 Department 表,在 SubSonic 2 中,我能够执行以下操作:

在代码中:

MyGrid.ItemsSource = New EmployeeCollection().Load()

在xml中:

<grid:DataGrid name="MyGrid">
  <grid:DataGrid.Columns>
    <grid:DataGridTextColumn Header="Employee" Binding="{Binding Path=EmployeeName}" />
    <grid:DataGridTextColumn Header="Department" Binding="{Binding Path=Department.DepartmentName}" />
  </grid:DataGrid.Columns>
</grid:DataGrid>

在 SubSonic 3 中,我无法确定与 DepartmentName 绑定的等效项,即

Binding="{Binding Path=Department.DepartmentName}"

如何在 SubSonic 3 中实现这一点?提前致谢。

4

2 回答 2

0

我相信 WPF 应该将集合绑定到可观察集合 - 请参阅Create A WPF ObservableCollection From A SubSonic 2.2 Collection

于 2009-07-11T22:32:54.607 回答
0

我看到两个选项:

1) 修改 T4 模板以提供您期望的属性。这可能看起来更自然,但我不确定您最终不会在不合适的模型上使用这些属性。

2) 使用ObjectDataProvider绑定到模型上的方法。

于 2009-07-12T18:51:41.643 回答