如何从EntityDataSource访问外键表中的数据?

时间:2012-01-25 15:25:57

标签: c# entity-framework

我在我的实体模型中定义了一个表。我还在模型中的表上定义了外键导航属性。

Users
- UserID
- Username
- UserGroupID

Groups
- GroupID
- GroupName

我有一个连接到EntityDataSource的网格,它检索并显示Users表。我需要显示相应的GroupName,而不是为每个用户显示UserGroupID标识列。是否有一种简单的内置方法可以从User对象中获取GroupName,因为它们是在实体模型中连接的?

谢谢! 凯文

2 个答案:

答案 0 :(得分:3)

在本教程中,显示​​Instructors表的GridView会执行您尝试使用EntityDataSource和GridView执行的操作(显示导航属性中的值):

http://www.asp.net/web-forms/tutorials/getting-started-with-ef/the-entity-framework-and-aspnet-getting-started-part-4

答案 1 :(得分:1)

您应该在每个实体上设置关联。对于Code First,它看起来应该是这样的:

class User {
  // user properties...

  [ForeignKey("UserGroupID")]
  public virtual Group Group { get; set; }
}

class Group {
  // group properties...
  public virtual ICollection<User> Users { get;set; }
}

然后你可以打电话:

user.Group.GroupName