查询
/Controller/HomeController.cs
/// <summary> /// 查询 文章 列表 /// </summary> /// <returns></returns> public ActionResult Index() { //1.查询数据库里的 文章数据(通过EF执行) //1.1.第一种方式:SQO(标准查询运算符) //实际返回的是一个 IQueryable 对象?此处返回的是一个IQueryable接口 //System.Data.Entity.Infrastructure.DbQuery : IQueryable<TResult> //DbQuery<Models.BlogArticle> query = db.BlogArticles.Where(d => d.AIsDel == false) as DbQuery<Models.BlogArticle>; //直接将返回的DbQuery转换成List<T>集合,也就是立即查询数据库,并返回查询的集合 //List<Models.BlogArticle> list = db.BlogArticles.Where(d => d.AIsDel == false).ToList(); //============================================================================================= //1.2.第二种方法:LINQ List<Models.BlogArticle> list = (from d in db.BlogArticles where d.AIsDel == false select d).ToList() ; //2.将集合数据传给视图 //ViewBag.DataList = list; ViewData["DataList"] = list; //3.加载视图 return View(); }
/Views/Home/Index.cshtml
@using MVCBlog.Models@{ Layout = null;} <!DOCTYPE html> <html><head> <meta name="viewport" content="width=device-width" /> <title>Index</title> <style> .TList { border: 1px solid #0094ff; border-collapse: collapse; width: 600px; } .TList tr td { border:1px solid #0094ff; padding: 10px; } </style></head><body> <div> <table class="TList"> <tr> <th>id</th> <th>标题</th> <th>分类</th> <th>状态</th> <th>时间</th> <th>操作</th> </tr> <!--遍历 设置给ViewData 的集合数据,生成html代码--> @foreach (BlogArticle a in ViewData["DataList"] as List<MVCBlog.Models.BlogArticle>) { <tr> <td>@a.AId</td> <td>@a.ATitle</td> <td>@a.ACate</td> <td>@a.AStatu</td> <td>@a.AAddtime</td> <td> <a href="/home/del/@a.AId">删除</a> <a href="/home/modify/@a.AId">修改</a> </td> </tr> } </table> </div></body></html>
删除
<script type="text/javascript"> function del(id) { if (confirm("真的要删除吗?")) { window.location = "/home/del/" + id; } }</script>
<a href="javascript:del(@a.AId)">删除</a>
public ActionResult Del(int id){ try { //1.创建要删除的对象 BlogArticle modelDel = new BlogArticle() { AId = id }; //2.将对象 添加到 EF 管理容器 db.BlogArticles.Attach(modelDel); //3.将对象包装类的 状态 标识为 删除状态 db.BlogArticles.Remove(modelDel); //4.更新到数据库 db.SaveChanges(); //5.更新成功,则命令浏览器 重定向 到 /Home/List 方法 return RedirectToAction("Index", "Home"); } catch (Exception ex) { return Content(ex.Message); }}