Я пытаюсь разобраться с Entity Framework, и есть одна вещь, которая меня действительно сбивает с толку. Это не помогает, что я все еще не совсем уверен в терминологии, и я пытаюсь избежать изучения LINQ в то же время, поэтому поиск в Google затруднен.
У меня есть две таблицы: компания и адреса с отношением 1-ко-многим. Если я напишу следующее:
ObjectQuery<Company> companies = queryContext.Companies.Include("Addresses");
Похоже, я получаю то, что хочу (компании -> Просмотр результатов [0]. Адреса. Количество> 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]. Имя существует, но .Address нет (потому что он похоронен в отношении адресов). Привязка к адресам. Адрес также не помогает.
Я нашел один действительно ужасный обходной путь внизу этой темы , но я бы предпочел этого избежать, если это возможно.
Есть ли способ «сгладить» мои результаты, чтобы объекты верхнего уровня предоставляли адрес всем включенным полям?
Любая помощь высоко ценится!