gpt4 book ai didi

entity-framework - EF Code First + 延迟加载,投影没有按预期工作

转载 作者:行者123 更新时间:2023-12-04 07:22:16 24 4
gpt4 key购买 nike

我有这样的东西:

var tmp =_forumsDb.Threads
.Where(t => t.Id == variable)
.Select(t => new { Thread = t, Posts = t.Posts.Take(1) })
.Single();

现在,我希望 tmp.Thread.Posts.Count(); 为 1,但它占用了我在数据库中的所有帖子。是否可以使用需要大量帖子的投影,在不关闭延迟加载的情况下在单个查询中执行?

编辑:我试过这样做,但它也不起作用:

var tmp =_forumsDb.Threads
.Where(t => t.Id == variable)
.Select(t => new { Thread = t, Posts = t.Posts.OrderBy(p => p.DateCreated).Take(1) })
.Select(t => t.Thread)
.Single();

最佳答案

tmp.Thread.Posts 是配置延迟加载的导航属性。由于尚未加载,访问它会加载所有剩余的帖子。

tmp.Posts 不是导航属性。这是您应该能够在不触发另一个查询的情况下访问的那个。

关于entity-framework - EF Code First + 延迟加载,投影没有按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12391961/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com