我在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)
但它无效
答案 0 :(得分:0)
只需将第Include
替换为Select
:
db.Users.Include(t => t.Tasks.Select(u => u.Users))
.SingleOrDefault(u => u.UserId == 1);