Subsonic 亚音速3中的WPF绑定到外键

Subsonic 亚音速3中的WPF绑定到外键,subsonic,subsonic3,Subsonic,Subsonic3,在使用活动记录的WPF和SubSonic 2中,我能够绑定到一个表中的行中的属性,并且可以轻松地按照外键引用(返回外键行表示的属性)绑定到外键表中的字段。对于亚音速3和ActiveRecord,我不太确定如何(轻松地)做到这一点。看起来外键引用返回IQueryable(Of T),它没有获取外键行的属性。然而,有一些函数(第一个和单个)可以实现我想要的功能 例如,假设我有一个Employee表,其中外键引用了一个Department表,在SubSonic 2中,我可以做如下操作: 代码: MyG

在使用活动记录的WPF和SubSonic 2中,我能够绑定到一个表中的行中的属性,并且可以轻松地按照外键引用(返回外键行表示的属性)绑定到外键表中的字段。对于亚音速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>

如何在亚音速3中实现这一点?提前感谢。

我认为在WPF中,您应该将集合绑定到可观察的集合-请参阅

我看到两个选项:

1) 修改T4模板以提供所需的属性。这似乎更自然,但我不确定您是否会在不合适的模型上使用这些属性

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

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