0

我想在像 city_Name 这样的列导航属性中显示我写了这段代码但什么也没发生

      <DataGrid Margin="210,15"  Grid.Row="1" CanUserAddRows="False" AutoGenerateColumns="False" Name="dg_Super" RowHeight="20" >
        <DataGrid.Columns>
            <DataGridTextColumn Width="*" Header="Super Name"   Binding="{Binding Path=SupermarketName, Mode=OneTime}"></DataGridTextColumn>
            <DataGridTextColumn Width="*" Header="City"  Binding="{Binding Path=City1.CityName, Mode=OneTime}"></DataGridTextColumn>
        </DataGrid.Columns>
    </DataGrid>

和 c# 代码

            var super = mh.Supermarkets;
            dg_Super.ItemsSource = super.ToList();

City1 是 ef 模型的导航属性。请问这里有什么问题吗?

4

1 回答 1

1

在您的查询中 - 也许添加 Include 方法:

var super = mh.Supermarkets.Include("City1")

因为 EF 不知道它必须从“City”表中获取数据。如果查询使用 City 表中的字段,则不必包含Include("City")- 然后 EF 可以检测到您需要表中的数据,因此它会自动加载 City 表

于 2013-02-04T13:52:45.180 回答