MVC3学习:基于ObjectContext的数据增删改查操作

数据库里面的表格,映射为对应的实体类。实体类的编写,可以自己手动编写,也可以使用工具或插件自动生成。在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());
        }

 

posted @ 2013-07-17 22:43  denny402  阅读(686)  评论(0编辑  收藏  举报