我不确定我的标题是否准确地描述了我正在尝试做的事情。
我的实体框架中有两个表,个人和用户。我正在尝试显示用户网格,所以我设置了这个 EntityDatasource:
<asp:EntityDataSource ID="peopleQuery" runat="server"
ConnectionString="name=myEntities" DefaultContainerName="myEntities"
EnableFlattening="False" EntitySetName="people" Include="location"
Where="it.active = 1" OrderBy="it.lastname, it.firstname">
</asp:EntityDataSource>
现在在我的 GridView 中,我可以绑定到姓氏、名字、电子邮件地址等字段,以及地址和城市等位置表中的字段。
现在,在我的系统中,可以将用户记录附加到一个或多个人员记录。所以这是一对多的关系。在网格视图中,我想显示与每个人关联的用户。我可以使用 RowDataBound 事件来做到这一点,但这需要对数据库中的每一行进行额外的数据库查找。
是否有一些有效的方法可以从“一对多”外键关系的“多”端导航?
实际上,它甚至不必是一对多。它可能是一对一的,但您处于外键关系的另一端。因此,在本例中,EntityDataSource 使用“person”表,但在 user 表中,我有一个 personid 字段。所以外键是user.personid => person.personid。由于 GridView 是从用户人员表驱动的,我如何导航到用户表以在我的 GridView 中显示 user.username?