我有两个 SQL Server 表,主键 (PK) 和外键 (FK) 链接这两个表:
1) Table "Order"
OrderID, int, PK
AddressID, int, FK
...
2) Table "Address"
AddressID, int, PK
City, nvarchar(50)
...
然后我从这两个表中创建了一个 (ADO.NET) 实体数据模型。现在在我的(ASP.NET)网页上,我放置了一个带有 EntityDataSource 的 GridView。在我的 GridView 中,我想显示两列:
- 订单编号
- 城市(属于该订单并由 AddressID-key 链接)
我怎样才能做到这一点?我的问题是:当我配置实体数据源时,我可以选择一个“EntitySetName”,它可以是“Order”或“Address”,但不能同时是两者,也不能选择任何类型的关系。如果我选择“订单”作为 EntitySetName,那么在 GridView 中我可以添加列
- 订单编号
- 地址
- 地址.地址ID
添加“地址”列会显示空单元格。添加“OrderID”和“Address.AddressID”会显示预期的 ID。但是如何将相关地址的“城市”添加到我的 GridView 中?
提前感谢您的帮助!
编辑:澄清:
实体框架创建了一个类“Order”和一个类“Address”对应于数据库表。“Order”类引用了“Address”对象作为导航属性,对应于Address 和Order 表之间的1-n 关系。
基本上我想在我的 GridView 中有一个显示 Order.Address.City 的列。我试图将带有“Address.City”的绑定字段作为数据字段添加到 GridView,但它会导致运行时错误(“没有这样的属性......”)。