1
我有一個簡單的數據表單創建,用於讀取地址信息。
地址信息存儲在多個表中:地址,城市,省,國家。爲了簡化這個問題,我只會提到地址和城市。 我正在通過WCF RIA Services上下文訪問數據。我在服務查詢:Silverlight 4工具包DataForm在瀏覽集合時包含空白項目
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條記錄:期望的地址記錄和相關城市記錄。顯示的第一條記錄是包含鏈接城市的地址。第二個顯示爲空白,但是當進入代碼時,DataForm的CurrentItem顯示它是連接到第一個地址的City記錄。
如何限制DataForm中的項目以顯示和瀏覽地址表中的項目?