获取外键关联的实体对象

当两个表有外键关联时,EF生成的实体中,通常都会有相应的关联表的实体或实体列表

在查询数据的时候,有时需要获取出关联外键的实体信息,就可以用以下方法加载(园子里虽然已有很多例子。。。但是有些要么我看不懂。。。要么就不写完全。。)

用户表:
UserID int,
UserName varchar(20),
UserGroupID---用户组ID,外键

用户组表:
UserGroupID int,
Name varchar(20)

对应的实体:
User:
int UserID
string UserName
UserGroup UserGroup

UserGroup:
int  UserGroupID 
string  Name 
System.Data.Objects.DataClasses.EntityCollection<User> User



普通查询:
using (var data = new Test.TestEntities())
{
    
//获取用户组实体
    UserGroup userGroups = data.UserGroup.FirstOrDefault(userGroup => userGroup.UserGroupID == 1);
}

结果中,userGroups中的User列表中没有任何元素

using (var data = new Test.TestEntities())
{
    
//获取用户组实体
    UserGroup userGroups = data.UserGroup.Include("User").FirstOrDefault(userGroup => userGroup.UserGroupID == 1);
}

在以上查询的结果中,外键关联的User列表已存在了元素了
posted @ 2009-08-22 17:19  cjnmy36723  阅读(468)  评论(0编辑  收藏  举报