1

我首先使用带有延迟加载和数据库的 EF6。

我在实体帖子中有这个导航属性:

  • Posts.Comments
  • Posts.CommentsReference
  • 帖子.类别

这两个代码:

代码 1

var query = Context.Post.Include(p => p.Categories)
   .ToList()

这工作正常,我可以导航到类别

代码 2

var query = Context.Posts.Include(p => p.Comments)
   .Join(Context.Users,
   t => t.WritterID,
   h => h.UserID,
   (t, h) => new { Posts= t, Users= h })
   .Where(q => q.Users.Name == "foo user")
   .Select(x => x.Posts)
   .ToList()

当我尝试导航到评论时,这会引发ObjectDisposedException 。

为什么?是因为加盟吗?

已编辑:带有@user2674389 的代码建议

4

1 回答 1

0

最后我切换到 LINQ to Entities 并且效果很好:

var query = from c in Context.Posts.Include(p => p.Comments)
        join h in Context.Users on c.WritterID equals h.UserID
        where h.Users.CompareTo("foo user") == 0
        select c;

但我仍然想知道如何在 lambda 表达式中做到这一点......

于 2013-10-31T00:11:40.973 回答