Asp.net mvc “查找实体框架中未识别的方法”;“数据库优先”;班

Asp.net mvc “查找实体框架中未识别的方法”;“数据库优先”;班,asp.net-mvc,asp.net-mvc-3,entity-framework,Asp.net Mvc,Asp.net Mvc 3,Entity Framework,我正在ASP.NETMVC中做一个简单的编辑。操作结果代码如下所示。这 他说我可以做到以下几点 代码示例: public ActionResult Edit(int id) { using (var db = new BlogDataEntities()) { return View(db.Blogs.Find(id)); } } 但是当我尝试这样做时,我无法获得db.Amodel的Find属性。? 我错过了什么 我

我正在ASP.NETMVC中做一个简单的编辑。操作结果代码如下所示。这 他说我可以做到以下几点

代码示例:

public ActionResult Edit(int id)
   {
       using (var db = new BlogDataEntities())
       {
           return View(db.Blogs.Find(id));
       }
    }
但是当我尝试这样做时,我无法获得db.Amodel的Find属性。? 我错过了什么

我的代码:

public ActionResult Edit(string id)
    {
        using (var db = new dbAEntities())
        {
           return View(db.Amodel.Find(id));//This is not working. Find is not     
                                           //recognzied and intellisense does 
                                           //not give me that option too.
        }           
    }

他们参考的是实体框架4.1,它似乎引入了
Find
方法。您可能正在使用旧版本。将代码重写为:

public ActionResult Edit(string id)     
{         
   using (var db = new dbAEntities()) {
        return View(db.Amodel.FirstOrDefault(item => item.id == id));
   }
}

看起来
Amodel
没有
Find()
方法。Find方法不是自动创建的吗。。我提供的链接中的示例没有谈到编写自己的Find方法。。使用链接中的方法,应自动创建所有必要的方法,如Add、Find。。是吗?Amodel是什么类型的?它是否与
博客
具有类似的特征,即它是首先使用数据库创建的?EntityObject。。。是的。我正在遵循示例,尽管我的数据库字段和名称不同,但我还是先使用数据库。。后台的很多代码都是自动生成的。。当我通过选择ADO.NET实体数据模型选项自动创建模型时,创建功能运行良好。。没有任何问题。。我用的是同一个样本我猜会发生类似的事情。。谢谢你指出。这很有效。SingleOrDefault可能更合适。由于Find正在查看密钥属性,因此应该只有一个实体具有相同的密钥。@ZVenue该示例使用entity framework 4.1,如果您想使用4.1,请通过package manager下载它。我与示例中的这行代码处于同一条船上。。。。db.Entry(blog.State=System.Data.EntityState.Modified;在我的副本中似乎无法实现。。