Casting Session变量 - ViewBag MVC4 - Casting

时间:2012-10-09 16:02:50

标签: c# asp.net-mvc

编程新手,我想在asp.net MVC中使用c#从表中获取一个单元格的值;在这里我正在尝试:

 DALEntities db = new DALEntities();
  var duration = db.MyTable.Where(c => c.Day == date && c.ID == id).Select(c => c.Duration);
            Session["duration"] = duration;

将数据提供给我在控制器中使用的视图:             var temp = Session [“duration”];             ViewBag.Duration = temp;

并在视图中:

 @ViewBag.Duration

我得到了

System.Data.Objects.ObjectQuery`1[System.String]

感谢您的建议。

1 个答案:

答案 0 :(得分:3)

您可以在最后调用.First()以急切执行查询并获得符合此条件的单个结果:

var duration = db
    .MyTable
    .Where(c => c.Day == date && c.ID == id)
    .Select(c => c.Duration)
    .First();

但要小心,因为如果没有与.Where()子句匹配的记录,.First()扩展方法将抛出异常。在这种情况下,您可以考虑使用.FirstOrDefault()方法。

我还强烈建议您在学习实体框架之前学习basic LINQ ,并且在学习ASP.NET MVC之前主要。否则你将在ASP.NET MVC中苦苦挣扎。我还建议人们在不混合的情况下孤立地学习单独的框架。熟悉它们后,您可以混合使用一个项目。