2012-02-14 120 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