Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# “System.Data.Entity.DbSet”不包含“Entry”错误的定义_C#_.net - Fatal编程技术网

C# “System.Data.Entity.DbSet”不包含“Entry”错误的定义

C# “System.Data.Entity.DbSet”不包含“Entry”错误的定义,c#,.net,C#,.net,我正在尝试对数据库上下文进行基本更新。我正在使用mvc4 这是我的控制器中的内容: context.Entry<Rental>(rental); context.SaveChanges(); return RedirectToAction("Index"); 我有一个定义如下的dbcontext类: T IDAContext.Entry<T>(T entity) { return Set<T>().Entry(entity).State = Ent

我正在尝试对数据库上下文进行基本更新。我正在使用mvc4

这是我的控制器中的内容:

context.Entry<Rental>(rental);
context.SaveChanges();
return RedirectToAction("Index");
我有一个定义如下的dbcontext类:

T IDAContext.Entry<T>(T entity)
{
     return Set<T>().Entry(entity).State = EntityState.Modified;
}
最后在我的界面上

T Entry<T>(T entity) where T : class;
我得到了这个错误

“System.Data.Entity.DbSet”不包含“Entry”的定义,并且找不到接受“System.Data.Entity.DbSet”类型的第一个参数的扩展方法“Entry”。是否缺少using指令或程序集引用

也得到

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


我的心理调试能力告诉我,即使上下文被声明为DbSet,您还是将其实例化为从DbSet派生的某个类,您希望它有一个Entry方法

如果是这种情况,那么您应该首先将上下文声明为派生类型,或者将其强制转换为派生类型

((InsertDerivedTypeHere)context).Entry<Rental>(rental);

变量context的数据类型是什么?是实体框架还是Linq To Sql?context=new DAContext;更新记录时,此语法是否正确:return Set.Entryentity.State=EntityState.Modified??什么意思?我的上下文正如你所说,它被声明为context=newdacontext;