MVC3學習:基於ObjectContext的資料增刪改查操作

weixin_34402090發表於2013-07-17

資料庫裡面的表格,對映為對應的實體類。實體類的編寫,可以自己手動編寫,也可以使用工具或外掛自動生成。在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());
        }

 

相關文章