У меня есть две таблицы SQL Server с первичными ключами (PK) и внешним ключом (FK), связывающие две таблицы:
1) Table "Order"
OrderID, int, PK
AddressID, int, FK
...
2) Table "Address"
AddressID, int, PK
City, nvarchar(50)
...
Затем я создал (ADO.NET) Entity Data Model из этих двух таблиц. Теперь на моей (ASP.NET) веб-странице я поставил GridView с EntityDataSource. В моем GridView я хочу отобразить два столбца:
- OrderID
- Город (принадлежащий этому заказу и связанный с помощью AddressID-ключа)
Как я могу это сделать? Моя проблема: когда я настраиваю источник данных сущностей, я могу выбрать "EntitySetName", которое может быть либо "Заказ", либо "Адрес", но не оба, и я не могу выбрать какие-либо отношения. Если я выберу "Заказ" в качестве EntitySetName то в GridView я могу добавить столбцы
- OrderID
- Адрес
- Address.AddressID
Добавление столбца "Адрес" отображает пустые ячейки. Добавление "OrderID" и "Address.AddressID" отображает ожидаемые идентификаторы. Но как я могу добавить "Город" связанного адреса в мой GridView?
Благодарим вас за помощь!
Изменить: Уточнение:
Entity Framework создал класс "Заказ" и класс "Адрес", соответствующий таблицам базы данных. Класс "Заказ" имеет ссылку на объект "Адрес" в качестве свойства навигации, соответствующий 1-n отношениям между таблицей адресов и заказов.
В принципе, я хочу иметь столбец в моем GridView, который отображает Order.Address.City. Я попытался добавить связанное поле с "Address.City" в качестве поля данных в GridView, но это приводит к ошибке времени выполнения ( "нет такого свойства..." ).