WPF将SubSonic 3绑定到外键

时间:2009-07-11 06:11:18

标签: subsonic subsonic3

在使用Active Record的WPF和SubSonic 2中,我能够从一个表绑定到行中的属性,并且可以轻松地跟随外键引用(返回外键行表示的属性)绑定到外键表中的字段。使用SubSonic 3和ActiveRecord,我不太清楚如何(轻松)这样做。看起来外键引用返回IQueryable(Of T),它没有获取外键行的属性。然而,有一些功能(第一和第一)可以实现我想要的功能。

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

在代码中:

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

在xaml:

<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中完成此操作?提前谢谢。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

我看到两个选项:

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

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