日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

MVC新手教程三:Entity Framework 4.0 来实现MVC的增删改查功能,10分钟搞定

發布時間:2025/3/19 c/c++ 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MVC新手教程三:Entity Framework 4.0 来实现MVC的增删改查功能,10分钟搞定 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在這一節,我們使用VS2010自帶的EF4.0來實現MVC的增刪查改功能,為什么用EF呢?因為如果你自己手寫sqlhelper之類,或者是用動軟,和我們用EF的速度比,太慢太慢··· 當然,新手還是用sqlhelper寫代碼好一些,等你熟練了ado.net就不用sqlhelper,可以用用動軟之類的,幫你免掉繁瑣的增刪改查,更靈活一些,則可以使用 EF和NH之類的ORM框架了···廢話完畢

第一部分:創建 ADO.NET實體數據模型,創建數據庫和表

新建一個空的MVC2空項目,然后在Model層添加一個EF模型,選擇空模型

在出來的edmx模型里面的空白地方,我們右鍵創建實體,也就是以后數據庫對應的一個表

繼續添加 2個標量屬性 (在edmx模型里面,我們把表的列叫做 標量屬性,把表的外鍵叫做 導航屬性)

然后選中空白地方,選擇 根據模型生成數據庫

接下來就是VS根據你剛才生成的EF模型來去數據庫建表了

此時只是生成了sql 的代碼,數據的表還沒有建立,我們在sql上? 點擊執行

??

OK? 數據庫搞定,我們去數據庫看看,庫和表 都OK了。我們手動插入幾條數據,以便后面測試

?

第二部分:在MVC中使用EF來實現增刪改查。

1:首先還是創建一個控制器,有了控制器,我們才能在網址里面訪問不是?

來一個? Admin控制器,勾選 為 Create,Update,Delete和Details方案··

這樣,系統就默認幫我們創建了 增刪改查的 Action。很智能吧?什么?太智能?想自己手寫?···無語··那你用vb語言的asp去,那個什么都手寫···爽死你·· 作為一個從asp轉為asp.net的程序員,你再和我講要自己手寫,我去拿刀···

我們分析一下上面自動生成的幾個Action? 由于截圖的大小問題,上面只列出來了? 部分幾個而已,簡單的說,就是幫你把常用的增刪改查這4種方式對應的Action都自動生成了

2: 實現 Index 列表

下面我們一個一個來實現,其實感覺就是在貼截圖,貼代碼了,改天我錄個視頻教程吧,有興趣的朋友可以跟著看看詳細的操作步驟

首先我們解決Index這個Action? ,既然我們是要在視圖上顯示的,而Action是用來給視圖傳值的,那么我們首先搞定Action里面的數據。之前我是用List來模擬了一下,這次我們用EF來直接返回數據庫里面的數據。 先去找一下EF這個上下文

這個EF上下文就相當于是數據庫的總管,從里面可以拿到所有的東西,下面3行,就是獲得 Admin表的所有數據,只要3行···

有了數據,然后我們還要找個前臺視圖來實現吧?開工,在Index里面的 View上右鍵添加視圖,選擇強類型,選擇我們在EF里面的表實體 Admin,如果這里什么都沒有,我們需要先生成一下項目,因為這里是根據項目的程序集反射出來的,所以要先生成項目

然后我們再次生成一下項目,看看 http://XX/Admin/index? 數據就出來了吧

?

接下來,我們看看這個index視圖,里面有些什么

我寫到這里的時候,發現感覺用截圖的方式寫這個教程,會很累,大家看的也很累,我截圖寫的也很累···就如同我以前從asp轉asp.net一樣,如果連最基本的三層架構怎么在VS里面搭配都不會的話,怎么能開始寫.net代碼?如果連基本的MVC操作都不會,只靠截圖,我覺得很難學會,還是去看視頻教程吧。有興趣的朋友可以加入視頻群? 217087477

3:實現Create 添加操作

生成項目,查看 http://xx/Admin/Create

這里如果我們點擊頁面的Create,他會提交到一個對應的Action,默認如果你在視圖里面沒有寫表單的Action的話,他會提交到自己

那么這個頁面提交到的Action(注意在mvc里面所有的操作都是對應控制器下的Action而不再是asp.net那樣的頁面)是自己本身,那么我們在Action里面怎么接收到值呢?我們去看Admin控制器

?

我們修改一下 Create 這個 action,保存一下前臺視圖提交的值 也只要3行代碼就OK了? 用EF 很爽··

我們試試,生成項目,去剛才的添加頁面,添加數據試試,打個斷點,看看傳過來的數據,請記得,我們在EF實體中是設置過ID為主鍵的,那么他實際是自增的,那么我們傳遞過來的ID有沒有用呢?

?? 我們提交,可以看到ID的值111確實提交過去了,但是數據庫會保存么?

??? 這樣添加數據就保存OK了

?

4:實現 Edit 編輯頁面,要注意,這個Action也是有2個的,為嘛呢?一個是get方式用于顯示的,一個是Post再次修改提交的

先寫Get方式的Action代碼的,也就3行搞定

然后我們創建對應的前臺View視圖

重新生成項目,我們去前臺看看 http://localhost:2180/admin? 先進入列表,然后我們看看能否點修改

顯示是OK的,但是ID我們是不希望給別人修改的,怎么來弄呢?我們修改前臺的視圖,把ID的顯示刪掉

另外我們先把Post方式的 保存的Action給完成

這樣修改保存 也就OK了

5:最后實現 Delete 刪除。系統自動創建的刪除比較傻,他是先展示了數據,然后再刪除,我們這里演示的時候還是按照系統創建的來刪除(實際項目中,前臺給一個js的confirm提示,用MVC的ajax提交到對應的Action刪除完事)

其實這2個用的是一個視圖,我們添加一下

然后我們還是從列表頁查看頁面,點擊刪除試試

在刪除的時候,我們打個斷點看看

實際傳過來的實體也好,參數Id也好,他們的值都是相同的,而且實體里面其他的值都是null,這是因為這里是刪除操作,其他的要不要無所謂

6:最后一個 Details? 詳細頁顯示?

我們顯示看看

?

OK? 第三節? 在MVC使用EF進行增刪改查完畢 另外如果有人看截圖太累看不懂 歡迎進? .net視頻群? 217087477

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的MVC新手教程三:Entity Framework 4.0 来实现MVC的增删改查功能,10分钟搞定的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。