使用 SQL,我将执行以下操作...
SELECT G.* FROM GOAL G
INNER JOIN Plan P ON
P.planID = G.planID
INNER JOIN User U ON
U.userID = P.userID
WHERE U.userID = @userID
在我的控制器(MVC4)"ActionResult Edit"
中,我执行以下操作,这是两个查询,我怎么能只做一个?目标是确保用户只能对自己的数据执行“编辑”操作,而不是其他人的目标。
var plan = db.Plan.Where(b => b.UserID == CurrentUserID).FirstOrDefault();
Goal goal = db.Goals
.Where(b => b.PlanID == plan.ID)
.FirstOrDefault();
return View(goal);
模型
public class Plan
{
public int ID { get; set; }
[Required]
public int UserID { get; set; }
}
[Table("PlanGoal")]
public class Goal
{
public int ID { get; set; }
[Required]
public int PlanID { get; set; }
}