У меня создана простая форма данных, которая считывает информацию об адресе.
Информация об адресе хранится в нескольких таблицах: Адрес, Город, Провинция, Страна.Чтобы упростить этот вопрос, я буду ссылаться только на адрес и город.Я получаю доступ к данным через контекст служб WCF RIA.Мой запрос в Службе:
public IQueryable<Address> GetAddresses()
{
return from Ad in ObjectContext.Addresses
.Include("City")
// .Include("City.Province")
// .Include("City.Province.Country")
where Ad.AddressID == 10
select Ad;
}
Чтобы помочь с отладкой, я ограничил набор результатов одним адресом (где Ad.AddressID == 10).В метаданные службы включена таблица городов:
[Include]
public City City { get; set; }
Шаблон только для чтения моей DataForm выглядит следующим образом:
<dataFormToolkit:DataForm.ReadOnlyTemplate>
<DataTemplate>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
</Grid.ColumnDefinitions>
<dataFormToolkit:DataField Label="Street Address" >
<TextBox Text="{Binding Path=StreetAddress, Mode=TwoWay}" />
</dataFormToolkit:DataField>
<dataFormToolkit:DataField Grid.Row="1" Label="City" >
<TextBox Text="{Binding Path=City.CityName, Mode=TwoWay}" />
</dataFormToolkit:DataField>
</Grid>
</DataTemplate>
</dataFormToolkit:DataForm.ReadOnlyTemplate>
Теперь, когда я отлаживаю свою DataForm, я ожидаю только1 адресная запись для отображения.Но на самом деле он возвращает 2 записи: ожидаемую запись адреса и связанную запись города.Первая отображаемая запись - это адрес, включая связанный город.Второе отображается пустым, но при взломе кода CurrentItem объекта DataForm показывает, что это запись City, связанная с первым адресом.
Как ограничить элементы в DataForm для отображения и просмотра толькоте из таблицы адресов?