关于"System.Data.EntityState."使用问题

探讨使用EF与MVC三层架构进行Web开发时遇到的问题,包括EF版本与Model层版本匹配、System.Data.EntityState使用及版本差异解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在看视频学者用mvc三层+EF做web用到了这个东西,发现了一些小问题就来发一下。

首先EF版本必须跟Model层版本相同否则不能用而且需要改文档之类的很麻烦,

在使用System.Data.EntityState时候需要在引用管理器引用框架System.Data.Entity。

还有一个版本问题,我用的是6.0的,System.Data.EntityState语句需要添加一个Entity改为System.Data.Entity.EntityState。

至于其他版本我没用过但可以百度查一下

 

 

using System; using System.Collections.Generic; using System.Data.Entity; using System.IO; using System.Linq; using System.Text.RegularExpressions; using System.Threading.Tasks; using System.Web; using System.Web.Mvc; using WebApplication1.Models; using WebApplication1.Scripts; using Newtonsoft.Json; using WebApplication1.Controllers; namespace GameManage.Controllers { [LoginActionFitter(IsCheck = true)] public class JobManagemController : Controller { AoutEntities1 db = new AoutEntities1(); WebApplication1.Models.ReturnListJsonData jsonData = new WebApplication1.Models.ReturnListJsonData(); // GET: JobManagem #region 职位信息管理界面 public ActionResult Index() { return View(); } #endregion #region 模糊查询 /// <summary> /// 模糊查询 /// </summary> /// <param name="page"></param> /// <param name="limit"></param> /// <param name="name"></param> /// <param name="code"></param> /// <returns></returns> public ActionResult GetList(int page, int limit, string name, string code) { var list = db.Job.Where(a => a.IsDel == false).ToList(); // if (!string.IsNullOrEmpty(name)) { list = list.Where(a => a.JobName.Contains(name)).ToList(); } if (!string.IsNullOrEmpty(code)) { list = list.Where(a => a.JobCode.Contains(code)).ToList(); } var offset = (page - 1) * limit; var data = list.OrderByDescending(a => a.ModifyDate).Skip(offset).Take(limit); jsonData.code = 0; jsonData.count = list.Count; jsonData.data = data; return Json(jsonData, JsonRequestBehavior.AllowGet); } #endregion #region 删除 /// <summary> /// 删除数据 /// </summary> /// <returns></returns> public ActionResult DelInfo(Guid? id) { if (id == Guid.Empty) { jsonData.code = 1; jsonData.msg = "删除失败,未找到当行数据"; } else { //逻辑删除 var entity = db.Job.Find(id); entity.IsDel = true; db.Entry<Job>(entity).State = System.Data.Entity.EntityState.Modified; //真实删除 //var entity1 = db.Job.Find(id); //db.Job.Remove(entity1); var result = db.SaveChanges(); if (result > 0) { jsonData.code = 0; jsonData.msg = "删除成功"; } else { jsonData.code = 1; jsonData.msg = "删除失败,请联系管理员"; } } return Json(jsonData, JsonRequestBehavior.AllowGet); } #endregion #region 新增和修改方法 /// <summary> /// 新增职位信息,和修改 /// </summary> /// <param name="job"></param> /// <returns></returns> public ActionResult Add(Job job) { if (job.ID == Guid.Empty) { job.ID = Guid.NewGuid(); job.CreateDate = DateTime.Now; job.ModifyDate = DateTime.Now; job.IsDel = false; //插入数据 db.Job.Add(job); } else { Job entity = db.Job.Find(job.ID); if (entity != null) { entity.JobCode = job.JobCode; entity.JobName = job.JobName; entity.ModifyDate = DateTime.Now; entity.IsDel = false; //给数据库修改的指令 db.Entry<Job>(entity).State = EntityState.Modified; } } var result1 = db.SaveChanges(); //判断是否成功 if (result1 > 0) { jsonData.code = 0; jsonData.msg = "保存成功"; } else { jsonData.code = 1; jsonData.msg = "保存失败"; } return Json(jsonData, JsonRequestBehavior.AllowGet); } #endregion } } 这个是职位管理的代码请仿写它给我实现编辑和添加功能
最新发布
07-15
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值