3
我有这些POCO类:负载子实体
public class Task
{
public int TaskId { get; set; }
public int ProjectId { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public DateTime StartDate { get; set; }
public DateTime? DueDate { get; set; }
public int UserId { get; set; }
public string Tags { get; set; }
public string FileName { get; set; }
public virtual Project Project { get; set; }
public virtual List<TaskAssigned> TaskAssigns { get; set; }
public virtual List<TaskComment> TaskComments { get; set; }
public virtual User User { get; set; }
}
public class User
{
public int UserId { get; set; }
public string Name { get; set; }
public int AccountId { get; set; }
public string Email { get; set; }
public string Password { get; set; }
public bool IsAdmin { get; set; }
public virtual Account Account { get; set; }
}
public class TaskComment
{
public int TaskCommentId { get; set; }
public int TaskId { get; set; }
public int UserId { get; set; }
public string Comment { get; set; }
public string FileName { get; set; }
public virtual User User { get; set; }
}
public class TaskAssigned
{
public int TaskAssignedId { get; set; }
public int TaskId { get; set; }
public int UserId { get; set; }
public virtual User User { get; set; }
}
我试图通过ID来获得任务,并加载了TaskComment和TaskAssigned这个任务,但用户实体的所有相关实体为空其他用户比用户在任务实体:
public Task GetTaskById(int taskId)
{
return context.Tasks.Include("TaskAssigns").Include("TaskComments").Include("User").Where(t => t.TaskId == taskId).FirstOrDefault();
}
刚刚得知,我可以使用旁边使用拉姆达的其他.Includes(点)的方法。由于lamba表达似乎无法看到儿童实体的孩子,因此非常有用。 – 2013-09-25 20:20:20