0

我在 Code First Entity Framework 中设置了以下实体:

 public class User
 {
    public int UserId { get; set; }
    public virtual ICollection<Task> Tasks { get; set; }
 }

 public class Task 
 {
     public int TaskId { get; set; }
     public virtual ICollection<User> Users { get; set; }
 }

我将如何为给定用户编写一个查询,返回分配给该用户的所有任务,并且这些任务包括分配给该任务的所有用户。

例如:

我被分配了两个任务。这两个任务分配给我和另一个用户。

当我检索我的用户时,我希望 Tasks 集合包含分配给我的两个任务,并且当我查看其中一个任务时,它应该有一个对我的用户和另一个用户的引用。

我不想使用延迟加载。

我试过类似的东西:

 db.Users.Include(t => t.Tasks.Include(u => u.Users)).SingleOrDefault(u => u.UserId == 1)

但它没有用

4

1 回答 1

0

只需将第二个替换IncludeSelect

db.Users.Include(t => t.Tasks.Select(u => u.Users))
    .SingleOrDefault(u => u.UserId == 1);
于 2012-09-27T16:56:14.257 回答