He estado trabajando con LINQ To SQL por un tiempo y cuando se trata de eliminar una entidad de la base de datos, siempre he llamado a la tabla. DeleteOnSubmit y pasado en la entidad. A veces me he encontrado escribiendo algo así como:LINQ to SQL: Eliminar entidad (por ID) con una consulta
db.Users.DeleteOnSubmit(db.Users.Where(c => c.ID == xyz).Select(c => c).Single());
Esto, por supuesto, causa dos consultas. Uno para obtener la entidad que coincida con los criterios y luego otro para eliminarlo. A menudo tengo el ID del registro que necesito eliminar y me pregunto si hay una manera más directa de eliminar una fila de una tabla solo a través de la identificación.
También podría hacer que DeleteByPK sea un método de extensión en DataContext y la cadena misma probablemente sea una consulta parametrizada (exec sp_executesql ...). –
en línea SQL en una instrucción Linq2Sql parece frustrar el propósito –
@Bobby: en realidad no.Uso en línea SQL para el rendimiento y cuando sea necesario (SQL complejo). Descanse en la generación de SQL para operaciones comunes. –