Связывание WPF в SubSonic 3 с внешними ключами - PullRequest
0 голосов
/ 11 июля 2009

В WPF и SubSonic 2 с использованием Active Record я смог связать свойства в строках из одной таблицы и легко следовать ссылкам на внешний ключ (свойства, которые возвращали представление строки внешнего ключа) для привязки к полям таблицы внешнего ключа , С 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 голосов
/ 12 июля 2009

вижу два варианта:

1) Измените шаблоны T4, чтобы предоставить ожидаемые свойства. Это может показаться более естественным, но я не уверен, что вы не получите те свойства в моделях, где они не подходят.

2) Используйте ObjectDataProvider для привязки к методам в ваших моделях.

0 голосов
/ 12 июля 2009

Я верю в WPF, что вы должны связать коллекцию с наблюдаемой коллекцией - см. Создание коллекции WPF ObservableCollection из коллекции SubSonic 2.2

...