获取外键关联的实体对象
当两个表有外键关联时,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);
}
{
//获取用户组实体
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);
}
{
//获取用户组实体
UserGroup userGroups = data.UserGroup.Include("User").FirstOrDefault(userGroup => userGroup.UserGroupID == 1);
}
在以上查询的结果中,外键关联的User列表已存在了元素了