2012-02-14 119 views
2

在我和EF代碼MVC 3應用第i個具有1個表ASP.NET MVC 3查詢結果

列字段是

ID

TIME1雙人 TIME2雙 TIME3數據庫雙

我需要時間3是時間1和時間2的相乘的結果......我viewbag做到了

Viewbag.Text = db.persons.Sum(o => o.Time1 * o.Time2); 

但howunfortunately我可以將結果不關聯的領域時間3 ...這裏是我的控制器和視圖

 public ActionResult Create() 
    { 
     return View(); 
    } 

    [HttpPost] 
    public ActionResult Create(Person person) 
    { 
     person.Tempo3 = db.persons.Sum(o => o.Tempo1 * o.Tempo2); 
     if (ModelState.IsValid) 
     { 

      db.persons.Add(person); 
      db.SaveChanges(); 
      return RedirectToAction("Index"); 
     } 

     return View(person); 
    } 

}

@using (Html.BeginForm()) {@Html.EditorFor(model => model.Tempo1) @Html.EditorFor(model => model.Tempo2) @Html.HiddenFor(model => model.Tempo3) 

隨着HiddenFor的計算不工作... linq查詢如何做到這一點?感謝

回答

0

嘗試是這樣的:

[HttpPost] 
public ActionResult Create(Person person) 
{ 

    if (ModelState.IsValid) 
    { 
     newPerson = new db.persons {Tempo1 = person.Tempo1, Tempo2 = person.Tempo2}; 
     newPerson.Tempo3 = peson.Tempo1 * person.Tempo2; 

     db.persons.Add(newPerson); 
     db.SaveChanges(); 
     return RedirectToAction("Index"); 
    } 

    return View(person); 
} 
+0

如果我宣佈newPerson變量?在HttPost方法? – Mirko 2012-02-14 19:24:28

+0

謝謝,它的工作原理。我在我的應用程序的價值,然而,在另一張表,如果我喜歡寫東西,我得到錯誤 – Mirko 2012-02-14 19:39:51

+0

這是我真正的代碼 變種x =新的運動(){MovementID = movement.MovementID,EmployeID =運動。 EmployeID,Time = movement.Time,}; 成本是在當前表 x.Cost = movement.Time * movement.Employe.Money; Money is in Employe表 – Mirko 2012-02-14 19:42:16