继续上一节初始ASP.NET MVC4,继续深入学习,感受了一下微软的MVC4+EF5(EntityFramework5)框架的强大,能够高效的开发出网站应用开发系统,下面就看一下如何用MVC4+EF5来实现数据的读取。

实现效果

操作步骤

1.创建数据库

  1. --创建表格--
  2. Create table News
  3. (
  4. id int identity(1,1) primary key,
  5. NewsTitle varchar(100)not null,
  6. CreateTime Datetime,
  7. Context text,
  8. Author varchar(10)
  9. )
  10. --插入数据--
  11. insert into dbo.News(NewsTitle,CreateTime,Context,Author)values('学习mvc4',GETDATE(),'我们一起来玩MVC4','丁小未')
  12. insert into dbo.News(NewsTitle,CreateTime,Context,Author)values('我会unity',GETDATE(),'跨平台的unity也不错','丁小未')

创建完毕数据库,然后添加两条数据,方便我们后面进行调用。

2.创建Model实体对象

在model文件鼠标右击->添加->新建项目->数据->ADO.NET实体数据模型,重命名:MVCDemoModel,点击生成。

连接本地数据库

选择数据库连接

填写连接信息

选择某个表

点击生成,会发现Models文件夹下生成了对应的Model实体对象模型,这就是EntityFramework的强大之处。

下面有一个news.cs文件,打开会发现是实体对象模型

MVCDemoModel文件中的MVCDemoEntities类是操作要显示的实体对象模型的类

3.在Controller中将数据库中的数据获取发送给前端显示

打开Controller文件,然后添加如下读取数据的代码,进行一次编译
  1. public ActionResult Index()
  2. {
  3. Models.MVCDemoEntities db = new Models.MVCDemoEntities();
  4. List<Models.News> news = db.News.Where(u => u.id>0).ToList();
  5. return View(news);
  6. }

编译成功后,继续上一节的添加视图

然后发现在Views文件夹下自动生成了对应的控制器视图文件,我们打开会发现生成了一个页面,运行效果就如上面效果图所示。

  1. @model IEnumerable<MvcApplication1.Models.News>
  2. @{
  3. ViewBag.Title = "Index";
  4. }
  5. <h2>Index</h2>
  6. <p>
  7. @Html.ActionLink("Create New", "Create")
  8. </p>
  9. <table>
  10. <tr>
  11. <th>
  12. @Html.DisplayNameFor(model => model.NewsTitle)
  13. </th>
  14. <th>
  15. @Html.DisplayNameFor(model => model.CreateTime)
  16. </th>
  17. <th>
  18. @Html.DisplayNameFor(model => model.Context)
  19. </th>
  20. <th>
  21. @Html.DisplayNameFor(model => model.Author)
  22. </th>
  23. <th></th>
  24. </tr>
  25. @foreach (var item in Model) {
  26. <tr>
  27. <td>
  28. @Html.DisplayFor(modelItem => item.NewsTitle)
  29. </td>
  30. <td>
  31. @Html.DisplayFor(modelItem => item.CreateTime)
  32. </td>
  33. <td>
  34. @Html.DisplayFor(modelItem => item.Context)
  35. </td>
  36. <td>
  37. @Html.DisplayFor(modelItem => item.Author)
  38. </td>
  39. <td>
  40. @Html.ActionLink("Edit", "Edit", new { id=item.id }) |
  41. @Html.ActionLink("Details", "Details", new { id=item.id }) |
  42. @Html.ActionLink("Delete", "Delete", new { id=item.id })
  43. </td>
  44. </tr>
  45. }
  46. </table>

效果图

以上就是最简单的MVC+EF数据读取的最简单的示例,微软帮我们做了很多工作,但这种自动话生成的操作并不适合我们新手的学习,我们还是自己来手动创建空白文件来实现这个展示的效果,也知道微软做的这些操作的原理性的东西。

4.自己动手写页面来展示自己想要展示的效果

  1. @model IEnumerable<MvcApplication1.Models.News>    //进行一个头文件的引用
  2. @{
  3. ViewBag.Title = "Index";
  4. }
  5. <h2>展示列表</h2>
  6. <table>
  7. <tr>
  8. <td>标题</td>
  9. <td>发布日期</td>
  10. <td>发布人</td>
  11. </tr>
  12. @foreach (var item in Model)
  13. {
  14. <tr>
  15. <td>@item.NewsTitle</td>
  16. <td>@item.CreateTime</td>
  17. <td>@item.Author</td>
  18. </tr>
  19. }
  20. </table>

这种写法跟之前的asp时代比较像,也跟现在.net时代下的模板引擎的用法也比较类似!

效果图

5.添加样式表

上面的表格没有样式实在是太不好看了,简单添加个样式表,然后运行看看效果

  1. <style type="text/css">
  2. #tb{
  3. }
  4. #tb tr td{
  5. border:1px solid #090808;
  6. }
  7. </style>

6.Linq操作Model

Lambda可以操作Model,Linq同样也可以查询返回数据,这两种效果等同。

//Linq方式

var news =  from n in db.News select n;

//Lambda方式

List<Models.News> news = db.News.Where(u => u.id>0).ToList();

运行的结果是一样的,之前搞三层写的比较复杂,现在出了MVC实在方便多了。

欢迎关注我的围脖

==================== 迂者 丁小未 CSDN博客专栏=================

MyBlog:http://blog.csdn.net/dingxiaowei2013             MyQQ:1213250243

Unity QQ群:375151422                                     cocos2dx QQ群:280818155

====================== 相互学习,共同进步 ===================

[MVC4]ASP.NET MVC4+EF5(Lambda/Linq)读取数据的更多相关文章

  1. [转][MVC4]ASP.NET MVC4+EF5(Lambda/Linq)读取数据

    本文转自:https://blog.csdn.net/dingxiaowei2013/article/details/29405687 继续上一节初始ASP.NET MVC4,继续深入学习,感受了一下 ...

  2. ASP.NET MVC4+EF5(Lambda/Linq)读取数据

    希望大家记住,这里讲的所有的知识点,不仅仅是了解了就可以了,还要会灵活用,一定要多思考,撑握其中的编程思想. 本文讲的是委托和事件,这两个词可能你早就耳熟能详,但你是否真正撑握了呢? 本系列讲的C#高 ...

  3. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(17)-LinQ动态排序

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(17)-LinQ动态排序 首先修复程序中的一个BUG这个BUG在GridPager类中,把sord修改为s ...

  4. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(48)-工作流设计-起草新申请

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(48)-工作流设计-起草新申请 系列目录 创建新表单之后,我们就可以起草申请了,申请按照严格的表单步骤和分 ...

  5. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(29)-T4模版

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(29)-T4模版 这讲适合所有的MVC程序 很荣幸,我们的系统有了体验的地址了.演示地址 之前我们发布了一 ...

  6. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(26)-权限管理系统-分配角色给用户

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(26)-权限管理系统-分配角色给用户 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x ...

  7. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(21)-权限管理系统-跑通整个系统

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(21)-权限管理系统-跑通整个系统 这一节我们来跑通整个系统,验证的流程,通过AOP切入方式,在访问方法之 ...

  8. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(1)-前言与目录(持续更新中...)

    转自:http://www.cnblogs.com/ymnets/p/3424309.html 曾几何时我想写一个系列的文章,但是由于工作很忙,一直没有时间更新博客.博客园园龄都1年了,却一直都是空空 ...

  9. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(40)-精准在线人数统计实现-【过滤器+Cache】

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(40)-精准在线人数统计实现-[过滤器+Cache] 系列目录 上次的探讨没有任何结果,我浏览了大量的文章 ...

随机推荐

  1. Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍

    Windows下LATEX排版论文攻略—CTeX.JabRef使用介绍 一.工具介绍 TeX是一个很好排版工具,在学术界十分流行,特别是数学.物理学和计算机科学界. CTeX是TeX中的一个版本,指的 ...

  2. the import android cannot be resolved

    1.先更新SDK 2.从Window选择SDK并且Apply 3.从Project选择Android的版本

  3. swift3.0变化总结

    Swift 3.0 做出的改变很大,在这篇文章中,我将尽我所能,利用代码样例给大家解释Swift 3.0最重要(要命)的改变,希望大家能够做好升级Swift 3.0 的准备.Swift 3.0的改变不 ...

  4. Excel——使用OFFSET、MATCH、COUNTA实现二级菜单

    如图所示,接下来提供两种办法实现: 1.将A.B.C.D定义为名称NAME. 2.设置一级菜单单元格数据有效性为NAME. 3.设置二级菜单格数据有效为: =OFFSET($A$1,MATCH($A6 ...

  5. 关于unity如何制作mmo

    昨天去看了下unity的成都openday,还是有很多收获的,之前我对于这类的活动始终提不起来兴趣,不过看来日后还是要多参加下类似的活动长长见识. 公司打算开发3d mmo手游,昨天好玩123恰好也分 ...

  6. unixLike命令拾遗

    针对在日常工作过程中,发现的学习的漏洞和忘记的知识,进行拾遗. 编辑命令 一.vim操作 1.进入编辑模式 在光标移到将要编辑处,点击i,进入编辑模式 2.退出编辑模式 按esc或者crtl+c退出编 ...

  7. permission denied to create extension "hstore"解决方案

    首先 sudo -u postgres psql postgres 进入数据库后输入命令 ALTER USER mydb_user WITH SUPERUSER;        (把某个用户设置为超级 ...

  8. 取代 Windows Search

    windows自带的搜索工具太难用了,总是在你急需的时候提示还没有建立索引,眼皮底下的文件都找不到. 1. everything 适合快速搜索文件名 优点是速度快,非常快,几乎是瞬间就建立好了索引. ...

  9. win7下IIS的安装和配置 图文教程

    转自   http://www.jb51.net/article/29787.htm 最近工作需要IIS,自己的电脑又是Windows7系统,找了下安装的方法,已经安装成功.在博客里记录一下,给需要的 ...

  10. JavaScript学习笔记(1))——————call,apply方法

    学习前端也有一段时间了,但是效果甚微.利用时间不够充分,虽然是利用工作之余来学习.但是这不能成为我的借口. 今天学习了(其实看了很多遍)call apply方法. function abc(a,b){ ...