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 に答える