Yas*_*lam 3 c# linq asp.net asp.net-mvc asp.net-mvc-4
这是删除一条记录的代码:
var vehicleProperty = db.VehicleProperties.Where(a => a.EngineId == id).ToList();
db.VehicleProperties.Remove(vehicleProperty);
db.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
如果我想删除多个项目,那么我将做什么,例如,删除所有项目 where typeId = 4
我正在尝试使用下面的代码,但会导致错误.
var vp = db.VehicleProperties.Where(a => a.EngineId == id).ToList();
db.VehicleProperties.Remove(vp);
db.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
我正在使用实体框架版本= 5.0.0.0并使用EF Designer表单数据库(实体数据模型)我尝试了很多代码但错误请检查我的截图与代码和错误

要通过Linq to Entities执行此操作,您需要遍历集合,逐个删除它们
var vps = db.VehicleProperties.Where(a => a.EngineId == id).ToList();
foreach (var vp in vps)
db.VehicleProperties.Remove(vp);
db.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
或者,您可以根据此MSDN文章传入SQL命令
来自相关文章:
var vp = db.VehicleProperties.Where(a => a.EngineId == id);
db.VehicleProperties.RemoveRange(vp);
db.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
或者
db.Database.ExecuteSqlCommand("delete from VehicleProperties where EngineId = {0}", 4);
Run Code Online (Sandbox Code Playgroud)