隨着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