当前上下文中不存在名称“EntityState”

时间:2013-07-25 09:14:06

标签: asp.net-mvc entity-framework runtime-error

实体框架中,有时会在未将System.data.entity程序集添加到项目中时发生这种情况。但是,为什么我之前没有在其他MVC项目中出现此错误。

它有时会发生,但经常发生,我必须在添加引用中手动添加它。我该怎么办?

6 个答案:

答案 0 :(得分:21)

尝试更改

e.g。

System.Data.EntityState.Modified;

System.Data.Entity.EntityState.Modified;

(不确定发生了什么。微软是否更改了包裹?)

答案 1 :(得分:5)

我修正了这个问题,如下所示

<强>命名空间

using System.Data;
using System.Data.Entity;

我之前在ASP.Net MVC C#应用程序中工作得很好。 我修正了这个问题,如下所示

using System.Data;

我之前在ASP.Net MVC C#应用程序中工作得很好

_context.Entry(_Teach).State = System.Data.EntityState.Modified;

现在,同样的方法在简单的c#,WCF中使用,但它给了我问题,然后我以下面的方式做到了这一点:

_context.Entry(_Teach).State = EntityState.Modified;

答案 2 :(得分:4)

我通过包含它来自的命名空间来解决这个问题:

使用System.Data.Entity;

答案 3 :(得分:2)

当我遇到这个问题时,我通过包含它来自的命名空间来修复它:

using System.Data;

更多信息:

http://msdn.microsoft.com/en-us/library/system.data.entitystate.aspx

答案 4 :(得分:0)

您应该在代码中进行如下更改。

 public ActionResult Edit(Album album)
    {
        if (ModelState.IsValid)
        {
            db.Entry(album).State = System.Data.Entity.EntityState.Modified;
            db.SaveChanges();
            return RedirectToAction("Index");
        }
        ViewBag.ArtistId = new SelectList(db.Artist, "ArtistId", "Name", album.ArtistId);
        ViewBag.GenreId = new SelectList(db.Genres, "GenreId", "Name", album.GenreId);
        return View(album);
    }

答案 5 :(得分:0)

当我添加

时,这已为我解决
using Microsoft.EntityFrameworkCore;

也许行得通吗?