MVC3学习 二 EF查询

EF操作数据库中的数据非常方便,例如查询:

OumindBlogEntities db = new OumindBlogEntities();
        public ActionResult Index()
        {
            //db.BlogArticles.Where(d => d.AIsDel == false) 的返回类型为DbQuery ,而DbQuery是延时加载的,也就是说只有当执行query.ToList();才执行查询语句
            //DbQuery<MvcBlog.Models.BlogArticle> query = (db.BlogArticles.Where(d => d.AIsDel == false)) as DbQuery<MvcBlog.Models.BlogArticle>;
            //query.ToList();

            List<Models.BlogArticle> list = db.BlogArticles.Where(d => d.AIsDel == false).ToList();
            //Linq 方式查询
            List<Models.BlogArticle> linqList = (from d in db.BlogArticles where d.AIsDel == false select d).ToList();
            //ViewBag方式向前台传递数据
            //ViewBag.DateList = linqList;
            //ViewDate方式向前台传递数据
            ViewData["DateList"] = linqList;
            return View();

        }

因为是将List传到前台页面中,所以在前台页面需要用到foreach循环来输出,代码如下:

@using MvcBlog.Models;

<table>
    <tr>
        <th>id</th>
        <th>标题</th>
        <th>分类</th>
        <th>状态</th>
        <th>时间</th>
        <th>操作</th>
    </tr>
   @foreach (BlogArticle a in ViewData["DateList"] as List<BlogArticle>)
   {
       <tr>
        <td>@a.AId</td>
        <td>@a.ATitle</td>
        <td>@a.BlogArticleCate.Name</td>
        <td>@a.Enumeration.e_cname</td>
        <td>@a.AAddtime</td>
        <td>
            <a href="javascript:del(@a.AId)">删除</a>
            <a href="/home/modify/@a.AId">修改</a>
            </td>
       </tr>
   }
    
    </table>

可以直接用@using MvcBlog.Models;引入空间。

razor真的让开发变的很方便。

posted @ 2015-04-01 09:44  8932809  阅读(162)  评论(0编辑  收藏  举报