Me gustaría saber cómo eliminar un objeto de Entity Framework 4.1 sin tener que cargar primero el objeto desde la base de datos. He encontrado theseother 2 respuestas sobre desbordamiento de pila, pero que no pertenecen a EF 4.1Entity Framework 4.1: cómo puedo eliminar por el Id de objeto
He probado el siguiente código, pero no funciona
public void DeleteCar(int carId)
{
var car = new Car() { Id = carId };
_dbContext.Cars.Attach(car);
_dbContext.Cars.Remove(car);
_dbContext.SaveChanges();
}
quiero evitar el código de abajo.
public void DeleteCar(int carId)
{
var car = context.Cars.Find(carId);
_dbContext.Cars.Remove(car);
_dbContext.SaveChanges();
}
Y no quiero llamar a un procedimiento almacenado o ejecutar raw sql.
El primer ejemplo funciona. Estás haciendo algo mal en otro lado. –
Ladislav Mrnka, puede proporcionar un proyecto de ejemplo que muestre cómo funciona para usted. No funciona para mi – Paul
Estoy de acuerdo con @Ladislav: El primer fragmento de código debe funcionar. ¿Recibes una excepción? ¿Y cuál? ¿O silenciosamente no puede eliminar nada? ¿Tienes una clave primaria compuesta en la clase Car? ¿Existe alguna restricción en el DB que no permite eliminar el auto? – Slauma