2009-07-11 3 views
0

In WPF und SubSonic 2 mit Active Record konnte ich an Eigenschaften in Zeilen aus einer Tabelle binden und problemlos den Fremdschlüsselreferenzen (Eigenschaften, die die Fremdschlüsselzeilenrepräsentation zurückgaben) folgen Binden an Felder in der Fremdschlüsseltabelle. Mit SubSonic 3 und ActiveRecord weiß ich nicht genau, wie ich das (einfach) machen soll. Es sieht so aus, als ob die Fremdschlüsselreferenzen IQueryable (Of T) zurückgeben, die keine Eigenschaft zum Abrufen der Fremdschlüsselzeile haben. Es gibt jedoch Funktionen (First und Single), die das erreichen, was ich möchte.WPF-Bindung in SubSonic 3 an Fremdschlüssel

Zum Beispiel lassen Sie uns sagen, dass ich mit einem Fremdschlüssel Bezug auf eine Abteilung Tabelle gibt einen Employee-Tabelle haben, in SubSonic 2, ich war in der Lage, wie etwas zu tun:

In Code:

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

in 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> 

in SubSonic 3 kann ich herausfinden, an die Department kein Äquivalent zu der Bindung, das heißt

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

Wie erreiche ich das in SubSonic 3? Danke im Voraus.

Antwort

0

Ich sehe zwei Möglichkeiten:

1) Ändern Sie die T4-Vorlagen, die Eigenschaften zur Verfügung zu stellen Sie erwarten. Dies mag natürlicher erscheinen, aber ich bin mir nicht sicher, ob Sie mit Eigenschaften auf Modellen enden werden, für die sie nicht geeignet sind.

2) Verwenden Sie die ObjectDataProvider, um an Methoden auf Ihren Modellen zu binden.