Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.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# 如何在实体框架中删除_C#_Entity Framework - Fatal编程技术网

C# 如何在实体框架中删除

C# 如何在实体框架中删除,c#,entity-framework,C#,Entity Framework,我有一个问题: var q = (from c in session.db.students where c.id==5 select c); 如何删除此记录?我尝试了deleteosubmit,deleteobject,delete。。。但是他们都不知道。 例如,在下面的代码中,删除未知项: foreach (student s in q) { s.deleteobject;} session.db.savechanges(); 或: 它们都没有定义

我有一个问题:

var q = (from c in session.db.students
          where c.id==5
          select c);
如何删除此记录?我尝试了
deleteosubmit
deleteobject
delete
。。。但是他们都不知道。
例如,在下面的代码中,删除未知项:

foreach (student s in q)
{ s.deleteobject;}
session.db.savechanges();
或:


它们都没有定义。。。。问题出在哪里?

您应该使用
删除

var q = (from c in session.db.students
          where c.id==5
          select c);

foreach(student s in q)
{
    session.db.students.Remove(s);
}

session.db.SaveChanges();

尝试使用dbcontext,可以使用remove或removerange

using (var MyContext= new CRMDBContext(connString))
                {
                    MyContext.[Table].RemoveRange(MyContext.[Table].Where(x => x.[column]== [column]));
                    MyContext.SaveChanges();
                }
您想对DbContext对象调用.remove([record])。使用代码可以执行以下操作:

var q = (from c in session.db.students where c.id == 5 select c);

foreach (student s in q)
{
    session.db.Remove(s);
}
session.db.SaveChanges();
或使用基于方法的查询(删除id为5的单个记录):


看看这个答案。也许会有帮助

那么你也可以用这个

 ((DbContext)dbContext).Set<objectName>().Remove(singleObject);
 dbContext.SaveChanges();
((DbContext)DbContext.Set().Remove(singleObject);
dbContext.SaveChanges();
如果需要删除多个对象,可以在foreach中使用此代码。

可以在上下文中使用Remove()或RemoveRange()方法来删除对象

如果有对象集合:

session.db.students.RemoveRange(collectionOfStudents);
session.db.SaveChanges();
session.db.students.Remove(oneStudent);
session.db.SaveChanges();
如果只有一个对象:

session.db.students.RemoveRange(collectionOfStudents);
session.db.SaveChanges();
session.db.students.Remove(oneStudent);
session.db.SaveChanges();

为什么要在会话中存储DBContext?您是否尝试过使用
db.students.remove@EmmanuelM。我使用了remove,但我看到了这个错误:错误1与“System.Data.Entity.DbSet.remove(WindowsFormsApplication1.PurchUtility)”匹配的最佳重载方法有一些无效的参数扫描您向我们显示了使用
失败的代码。remove
看起来您没有使用正确的上下文成员或实体Type@EmmanuelM. IEnumerable w=(来自Session.DB.Sponsers中的s,其中s.Id==1选择s);foreach(w中的Sponser v){Session.DB.Sponsers.Remove(w);//这一行是错误}什么是
Session.DB
?如果它是您自己的类型,那么
Remove
方法中有什么?如果没有这些相关信息,我们将无能为力。但是我也没有删除:(IEnumerable w=(来自Session.DB.Sponsers中的s,其中s.Id==1选择s);foreach(sponserv in w){Session.DB.Sponsers.Remove(w);//这一行是错误}没有…问题尚未解决,我想从查询中删除。不在范围内我在以下行中看到此错误:Session.DB.students.Remove(s):错误1与'System.Data.Entity.DbSet.Remove(WindowsFormsApplication1.purcutility)匹配的最佳重载方法'有一些无效的论点