資料庫裡面的表格,對映為對應的實體類。實體類的編寫,可以自己手動編寫,也可以使用工具或外掛自動生成。在MVC3裡面,我們可以使用VS的POCO外掛自動生成實體類。如下圖:
關於POCO外掛的安裝與使用,相關文章比較多,本文不再詳細講述,本文主要講解一下使用POCO生成的實體類,對應的增刪改查方法。
假設有一個存放新聞的表格為News,則對應的實體類名也為News,其中主鍵為Nid.
一、增加記錄
[HttpPost] public ActionResult Create(News n) { if (ModelState.IsValid) { db.News.AddObject(n); db.SaveChanges(); return RedirectToAction("index"); } else return View(n); }
二、刪除記錄
[HttpPost] public ActionResult Delete(int id) { try { News n = db.News.Where(c => c.Nid == id).Single(); db.News.DeleteObject(n); db.SaveChanges(); return RedirectToAction("index"); } catch { return View(); } }
三、修改記錄
[HttpPost] public ActionResult Edit(News n) { if (ModelState.IsValid) { db.News.Attach(n); db.ObjectStateManager.ChangeObjectState(n, System.Data.EntityState.Modified); db.SaveChanges(); return RedirectToAction("index"); } else return View(n); }
四、查詢記錄
public ActionResult Index() { return View(db.News.ToList()); }
如果是帶條件的查詢,則可以寫為
public ActionResult Index(int id) { return View(db.News.Where(c=>c.Nid==id).Single()); }