相关疑难解决方法(0)

如何在不首先加载对象的情况下从Entity Framework模型中删除对象?

我很确定我已经在某个地方看到了这个问题的答案,但是由于我在SO或谷歌上搜索了几次,我无论如何都要问它...

在Entity Framework中,删除数据对象的唯一方法似乎是

MyEntityModel ent = new MyEntityModel();
ent.DeleteObject(theObjectToDelete);
ent.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

但是,这种方法需要首先将对象加载到Controller,只是为了删除它.有没有办法删除仅引用其ID的业务对象?

如果使用Linq或Lambda表达式有更聪明的方法,那也没关系.但主要目的是避免加载数据只是为了删除它.

asp.net-mvc linq-to-entities entity-framework

39
推荐指数
2
解决办法
4万
查看次数

实体框架4.1:如何按对象ID删除

我想知道如何在不首先从数据库加载对象的情况下从Entity Framework 4.1中删除对象.我发现这些 其他的堆栈溢出2个回答,但他们不属于EF 4.1

我尝试了以下代码,但它不起作用

public void DeleteCar(int carId)
{
  var car = new Car() { Id = carId };
  _dbContext.Cars.Attach(car);
  _dbContext.Cars.Remove(car);
  _dbContext.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)

我想避免下面的代码.

public void DeleteCar(int carId)
{
  var car = context.Cars.Find(carId);
  _dbContext.Cars.Remove(car);
  _dbContext.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)

我不想调用存储过程或执行原始sql.

.net entity-framework entity-framework-4.1

30
推荐指数
3
解决办法
3万
查看次数