2011-08-18 58 views
2

我有我的EntityFramework如何从实体框架中的关系对象中获取数据?

我有用户和消息 我想获得特定用户的所有消息,所以我从用户表中的数据加载到特定的用户对象之间的关系映射2个实体对象:

var user = (from u in context.Users 
      where u.u_username == username 
      select u).First(); 

现在,我怎么能得到该用户的所有邮件,我注意到,我可以这样做:

var messages = user.Messages; 

但我什么也没得到。 这是正确的吗?

如何使用此语法并获取特定用户的所有消息?

我用.NET4 是否有可能做

回答

3

如果你想延迟加载就可以使Messages属性的虚拟用户的Messages

public class User 
{ 
    //other properties 
    public virtual ICollection<Message> Messages; 
} 

或者你可以贪婪加载Messages使用Include功能

var user = (from u in context.Users.Include("Messages") 
      where u.u_username == username 
      select u).First(); 

最后,也许你没有配置Messages财产与EF的情况。

相关问题