2012-01-26 27 views
1

我在实体框架图来表示(.edmx文件)在试图穿越的关系,我的实体框架表对象为空

Users 
- UserID 
- Username 
- UserGroupID 

Groups 
- GroupID 
- GroupName 

在我的代码下面的表格,我检索的有效实例用户对象,我试图遍历关系到组表,以检索组名,但每次,组对象为空。 UserGroupID存在于Groups表中,所以我不确定这是为什么。

Visual Studio intellisense知道存在关系并允许我尝试它,但在运行时,“组”实例为空。

Users users= (Users)e.Row.DataItem; 
    string groupName = users.Groups.GroupName; 

在这种情况下,组为null,我不知道为什么。可能的原因是什么?

感谢 凯文

回答

1

看起来你是从试图访问组什么样的策略在数据绑定事件中,并且在绑定数据之前未加载组数据。你很可能需要“包含”下面的组。

var users = entity.Users.include("Groups").where(x => x.UserID == 20); 
+0

谢谢你,在John列出的文档和你的答案之间,我能够学习到正确的方法来做到这一点。 – Kevin

0

可能是延迟加载被禁用。

添加下面一行在初始化上下文

context.ContextOptions.LazyLoadingEnabled = true; 

反正你应该想想你要使用从您的DB拉日期