在 ADO.NET 中我可以使用delete
语句
从 SQL 表中删除一些行。
实体框架中的等价物是什么?
我怎样才能达到同样的结果?
使用空对象进行更新是不一样的。
在 ADO.NET 中我可以使用delete
语句
从 SQL 表中删除一些行。
实体框架中的等价物是什么?
我怎样才能达到同样的结果?
使用空对象进行更新是不一样的。
回复告诉你,你需要先将对象(严格来说键就足够了,但是你需要手动做一些工作)到内存中并将它们标记为删除,最后调用SaveChanges
. 虽然这是“正常”的方法,但有很多扩展、帮助程序……允许您执行批量删除、批量更新和其他有用的操作。
您可以检查EntityFramework.Extended(也在GitHub 上)或Entity Framework Extensions(也有来源)。
您需要先检索要删除的对象。例如 :
// Assuming ID is primary key in `Customer` entity
Customer cust = (from c in context.Customers where c.ID = "1" select c);
然后使用删除对象DataContext.entity.DeleteObject
context.Customers.DeleteObject(cust);
context.SaveChanges();
更多:数据上下文
首先你需要从你的数据库实体创建实例,然后你应该选择你想要的对象,然后删除它:
TestEntities db = new TestEntities();
Test ts = (from rows in db.Tests
where rows.ID == 1
select rows).FirstOrDefault();
if (ts != null)
{
db.Tests.DeleteObject(ts);
db.SaveChanges();
}
更新 :
如果您的结果集是一个列表,我的意思是您可以使用多个记录:
List<Test> lst = (from rows in db.Tests select rows).ToList();
foreach (Test item in lst)
{
db.Tests.DeleteObject(item);
}
db.SaveChanges();