报错:无法将类型"System.Data.EntityState"隐式转换为"System.Data.Entity.EntityState"

本文解决了一个关于Entity Framework中EntityState类型转换的问题。主要介绍了两种可能的原因及相应的解决方案,包括检查命名空间引用和调整Entity Framework的版本。

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

 报错:无法将类型"System.Data.EntityState"隐式转换为"System.Data.Entity.EntityState"

原因一:

 

using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.Entity;

是否引用了System.Data.Entity   是则:db.Entry<UserInfo>(entity).State =EntityState.Deleted;

                                               否则加上db.Entry<UserInfo>(entity).State = System.Data.EntityState.Deleted;

加上命名空间

原因二:

 

出错语句停留在:DataContext.Entry(entity).State = EntityState.Modified; 
从语法上看没有什么错误。DataContext是在Model层通过添加edmx自动生成的,而出错语句所在的数据层安装了最新版的Entity Framework,我们知道:在edmx中创建实体导入数据库的时候,VS也会为我们自动装上Entity Framework,是否此处的EF版本和数据层不一样呢?

 

解决方法

 

先卸载EF:Uninstall-Package EntityFramework -Force 
在安装EF5.0:Install-Package EntityFramework –Version 5.0.0

 

转载于:https://www.cnblogs.com/luwei19911206/p/4624046.html

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值