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