随着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"
Im做以下,这是两个问题,我怎么能这样做只有一个?目标是确保用户只能对他们自己的数据执行“编辑”操作而不是其他人的目标。
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; }
}
我更喜欢这一个,但它不适用于“从计划中的p”...计划不解决“它的类型,但它使用像变量”。 – Marc
我认为这是因为我忘记在语句中包含上下文('db.')。我更新了我的答案。 –
当然,不知道为什么我错过了。我给你答案,因为它不需要我改变模型。 – Marc