首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >EF如何包含子对象来查询

EF如何包含子对象来查询
EN

Stack Overflow用户
提问于 2014-02-08 14:56:04
回答 1查看 227关注 0票数 0

我有两个表:用户和令牌,如下所示。

现在我使用EF编写查询,它接受令牌对象,但是令牌对象中的子对象用户是空的。我应该如何修改我的查询以获得用户对象的令牌?

代码语言:javascript
运行
复制
using (var db = new AccountDbContext())
{
    Token tok = db.Tokens
       .FirstOrDefault(p => tokenValue == p.Value) == 0);

    if (tok.User == null)
    {
        //I'm there, but I 100% of sure thata this relation exists
        throw new Exception();
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-08 17:03:26

实体框架不会自动将所有相关对象从数据库中加载出来--如果有许多具有大量关系的表,这可能会非常昂贵。您需要告诉EF在查询中加载关联的User (这称为急切加载),或者您需要启用延迟加载,以便EF在首次访问它时加载它。(有关详细信息,请参阅MSDN文章加载相关实体

下面是一个急切加载的例子(没有经过彻底的测试,因为我没有您的模型):

代码语言:javascript
运行
复制
using (var db = new AccountDbContext())
{
    Token tok = db.Tokens.Include(n => n.User)
       .FirstOrDefault(p => tokenValue == p.Value) == 0);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21647497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档