私は Entity Framework を理解しようとしていますが、本当につまずいていることが 1 つあります。専門用語がまだ完全にわからないことは役に立ちません。また、同時に LINQ を学習することを避けようとしているため、グーグル検索は困難です。
1対多の関係を持つ会社と住所の2つのテーブルがあります。私が次のように書くと:
ObjectQuery<Company> companies = queryContext.Companies.Include("Addresses");
欲しいものを手に入れているようです (会社 -> 結果ビュー[0].Addresses.Count is > 0)
ここでやりたいことは、会社名とすべての住所を ASP.NET アプリケーションのグリッドビューにバインドすることです
this.CompaniesGrid.DataSource = companies;
this.CompaniesGrid.DataBind();
<asp:GridView runat="server" ID="CompaniesGrid" AllowSorting="true">
<Columns>
<asp:BoundField DataField="Name" />
<asp:BoundField DataField="Address" />
</Columns>
</asp:GridView>
これだけでエラー ( A field or property with the name 'Address' was not found on the selected data source
) がスローされます - 会社 -> 結果ビュー[0].Name は存在しますが、.Address は存在しないためだと思います (アドレス関係に埋もれているため)。Addresses.Address へのバインドも役に立ちません。
このスレッドの最後に非常に醜い回避策が 1 つ見つかりましたが、できれば避けたいと思います。
トップレベルのオブジェクトが含まれるすべてのフィールドにアドレスを提供するように、結果を「平坦化」する方法はありますか?
どんな助けでも大歓迎です!