博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1.3、EF的增删改查
阅读量:7009 次
发布时间:2019-06-28

本文共 2594 字,大约阅读时间需要 8 分钟。

【阅读笔记】

EF里一共有5种状态(EntityState):

游离Detached=1,

未变化Unchanged=2,

新增Added=4,

已删除Deleted=8,

已修改Modified=16

添加:前台暂不处理,通常按生成视图就可以

[HttpPost]        public ActionResult Create(Testmodel newtest)        {            try            {                // TODO: Add insert logic here                if (ModelState.IsValid)                {                    EntityState statebefore = db.Entry(newtest).State;  //Detached 实际无效,跟踪效果                    db.Testmodel.Add(newtest);                    EntityState stateAdd = db.Entry(newtest).State; //Added                    db.SaveChanges();                    EntityState stateafter = db.Entry(newtest).State;//Unchanged                    return RedirectToAction("Index");                }            }            catch            {                ModelState.AddModelError("", "错误提示.");                        }            return View(newtest);       }

编辑

public ActionResult Edit(int id)        {            TestModel test= db.TestModel.Find(id);            return View(test);        }        [HttpPost]        public ActionResult Edit(TestModel model)        {                // TODO: Add update logic here                if (ModelState.IsValid)                {                    EntityState statebefore = db.Entry(model).State;                       db.Entry(model).State = EntityState.Modified;                    int i= db.SaveChanges();                    EntityState stateafter= db.Entry(model).State;                    return RedirectToAction("Index");                }            return View(model);        }

删除

public ActionResult Delete(int id, bool? saveChangesError)        {            if (saveChangesError.GetValueOrDefault())            {                ViewBag.ErrorMessage = "错误提示.";            }            return View(db.Testmodel.Find(id));        }        //        // POST: /Student/Delete/5        [HttpPost,ActionName("Delete")]        public ActionResult DeleteConfirmed(int id)        {            try            {                // TODO: Add delete logic here                Testmodel model= db.Testmodel.Find(id);                EntityState statebefore = db.Entry(model).State; //UnChange                db.Testmodel.Remove(model);                EntityState stateafter = db.Entry(model).State;//Deleted                db.SaveChanges();                EntityState stateaOk = db.Entry(model).State;//Detached                return RedirectToAction("Index");            }            catch            {                return View();            }        }

  

没了

 

转载于:https://www.cnblogs.com/singin/archive/2013/05/04/3059469.html

你可能感兴趣的文章
对象属性合并
查看>>
一步步开发OS(三)任务调度
查看>>
Linux 远程登录
查看>>
Task类使用总结
查看>>
防表单重复提交
查看>>
个人网站优化的出路和方向
查看>>
dhcp的基本配置命令
查看>>
myeclipse添加数据库连接
查看>>
我的友情链接
查看>>
Oracle数据库创建与安装_超越OCP精通Oracle视频教程培训02~04
查看>>
Windows 8 X64 RTM 英文版 9200.16384 正版下载
查看>>
Hyper-V File Server 文件共享服务器
查看>>
WordPress内外网访问的问题解决
查看>>
在linux上安装redis
查看>>
奔跑吧,SOC(一)——软件是怎么控制硬件的
查看>>
初学vim编辑器必会常用功能
查看>>
HttpSession之学习笔记
查看>>
我的友情链接
查看>>
centos: 建立git账户
查看>>
Maven|项目命令
查看>>