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

时间:2011-08-18 22:16:29

标签: entity-framework .net-4.0 entity-relationship

我有两个我在Entityframework中映射的实体对象

我在用户和消息之间有关系 我想获取特定用户的所有消息,因此我将用户表中的数据加载到特定用户对象:

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

现在,我怎么能得到这个用户的所有消息,我注意到我可以这样做:

var messages = user.Messages; 

但我一无所获。 这是对的吗?

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

我使用.net4 是否可以

1 个答案:

答案 0 :(得分: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();

最后,您可能还没有使用EF配置Messages属性。