¿Cómo elimino un registro por su clave principal sin primero hacer una instrucción SELECT para cargar la entidad?Entity Framework: ¿Cómo elimino un registro por su clave principal?
Respuesta
¿Qué versión de Entity Framework estás usando?
Si está utilizando Entity Framework 4.1 o superior, y utiliza la clase DbContext, puede usar el método ExecuteSqlCommand() para enviar una declaración DELETE a la base de datos. Consulte http://blogs.msdn.com/b/adonet/archive/2011/02/04/using-dbcontext-in-ef-feature-ctp5-part-10-raw-sql-queries.aspx (consulte la sección Mandatos sin procesar a la base de datos). Esto será algo como:
DbContext ctx = ... get your DbContext somehow...
ctx.Database.ExecuteSqlCommand("DELETE FROM Foo WHERE FooID = 17");
Si está utilizando Entity Framework 4.0 y ObjectContext (en lugar de DbContext) hay un método ExecuteStoreCommand similar (http://msdn.microsoft.com/en-us/library/ system.data.objects.objectcontext.executestorecommand.aspx).
Puede utilizar el objeto ficticio:
var entity = new YourEntity { Key = yourKey };
context.Entities.Attach(entity);
context.Entities.DeleteObject(entity);
context.SaveChanges();
Dependiendo de cuando usted está leyendo esto, verificar el estado de this ticket antes de implementar cualquier hacks.
Sugerencia interesante. Por favor vota por eso si puedes. – ygoe
- 1. Clave principal/externa en Entity Framework
- 2. Entity Framework 4: ¿Cómo encontrar la clave principal?
- 3. Cómo elimino varias filas en Entity Framework (sin foreach)
- 4. Entity Framework 4 obteniendo el ID de clave principal para el registro insertado
- 5. Grails, cómo buscar por un registro mediante su clave externa
- 6. ¿Cómo elimino una entidad hija de una colección principal con Entity Framework 4?
- 7. ¿Cómo elimino un objeto de un modelo de Entity Framework sin cargarlo primero?
- 8. Entity Framework Association con campos no clave
- 9. Cómo controlar los valores de clave principal cuando la siembra de datos con Entity Framework codefirst
- 10. Llaves únicas no reconocidas por Entity Framework
- 11. Entity Framework 4: Selección de registro único
- 12. ¿Cómo puedo obtener la siguiente clave principal para SQL 2008 en Entity Framework 4
- 13. Entity Framework relación muchos a muchos sin clave primaria
- 14. ¿Excepción de clave duplicada de Entity Framework?
- 15. Cómo obtener la clave principal (s) en Entity Framework 4.1, es decir, utilizando DbContext
- 16. Insertar registro en la tabla secundaria cuando el registro principal ya existe utilizando el código de Entity Framework primero
- 17. Vistas y Entity Framework
- 18. ¿Por qué debería preocuparme por Entity Framework?
- 19. Múltiples entidades agregadas pueden tener la misma clave principal en Entity Framework
- 20. .NET Entity Framework Agregar nueva fila con clave primaria incremental
- 21. Cómo usar el comando 'GoToRecord' para obtener un registro por clave principal- VBA Acess 2010
- 22. cómo actualizar un registro sin preocuparse por la clave primaria
- 23. Cómo administrar claves "secundarias" en Entity Framework
- 24. Entity Framework - Inserción en varias tablas usando la clave externa
- 25. ¿Cómo utilizar la palabra clave BETWEEN en Entity Framework?
- 26. Cómo insertar un registro con LINQ y C# y devolver la clave principal de ese registro
- 27. ¿Cómo busco un SiteMapNode por su URL (u otra clave)?
- 28. Autonumérico con Entity Framework
- 29. ¿Cómo utilizar un System.Guid como clave principal en ASP.Net MVC?
- 30. Entity Framework 4 - Herencia
A partir de EF 5.0, necesita utilizar context.Entities.Remove (entidad); en lugar de context.Entities.DeleteObject (entidad); – Gabriel