標籤:mvc ef5
繼續上一節初始ASP.NET MVC4,繼續深入學習,感受了一下微軟的MVC4+EF5(EntityFramework5)架構的強大,能夠高效的開發出網站應用程式開發系統,下面就看一下如何用MVC4+EF5來實現資料的讀取。
實現效果
操作步驟1.建立資料庫
--建立表格--Create table News( id int identity(1,1) primary key, NewsTitle varchar(100)not null, CreateTime Datetime, Context text, Author varchar(10))--插入資料--insert into dbo.News(NewsTitle,CreateTime,Context,Author)values(‘學習mvc4‘,GETDATE(),‘我們一起來玩MVC4‘,‘丁小未‘)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檔案,然後添加如下讀取資料的代碼,進行一次編譯
public ActionResult Index(){ Models.MVCDemoEntities db = new Models.MVCDemoEntities(); List<Models.News> news = db.News.Where(u => u.id>0).ToList(); return View(news);}編譯成功後,繼續上一節的添加視圖
然後發現在Views檔案夾下自動產生了對應的控制器視圖檔案,我們開啟會發現產生了一個頁面,運行效果就如上面所示。
@model IEnumerable<MvcApplication1.Models.News>@{ ViewBag.Title = "Index";}<h2>Index</h2><p> @Html.ActionLink("Create New", "Create")</p><table> <tr> <th> @Html.DisplayNameFor(model => model.NewsTitle) </th> <th> @Html.DisplayNameFor(model => model.CreateTime) </th> <th> @Html.DisplayNameFor(model => model.Context) </th> <th> @Html.DisplayNameFor(model => model.Author) </th> <th></th> </tr>@foreach (var item in Model) { <tr> <td> @Html.DisplayFor(modelItem => item.NewsTitle) </td> <td> @Html.DisplayFor(modelItem => item.CreateTime) </td> <td> @Html.DisplayFor(modelItem => item.Context) </td> <td> @Html.DisplayFor(modelItem => item.Author) </td> <td> @Html.ActionLink("Edit", "Edit", new { id=item.id }) | @Html.ActionLink("Details", "Details", new { id=item.id }) | @Html.ActionLink("Delete", "Delete", new { id=item.id }) </td> </tr>}</table>
以上就是最簡單的MVC+EF資料讀取的最簡單的樣本,微軟幫我們做了很多工作,但這種自動話產生的操作並不適合我們新手的學習,我們還是自己來手動建立空白檔案來實現這個展示的效果,也知道微軟做的這些操作的原理性的東西。
4.自己動手寫頁面來展示自己想要展示的效果
@model IEnumerable<MvcApplication1.Models.News> //進行一個標頭檔的引用@{ ViewBag.Title = "Index";}<h2>展示列表</h2><table> <tr> <td>標題</td> <td>發布日期</td> <td>發布人</td> </tr> @foreach (var item in Model) { <tr> <td>@item.NewsTitle</td> <td>@item.CreateTime</td> <td>@item.Author</td> </tr> }</table>
這種寫法跟之前的asp時代比較像,也跟現在.net時代下的模板引擎的用法也比較類似!
5.添加樣式表
上面的表格沒有樣式實在是太不好看了,簡單添加個樣式表,然後運行看看效果
<style type="text/css"> #tb{ } #tb tr td{ border:1px solid #090808; }</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
====================== 相互學習,共同進步 ===================