public static TEntity Delete <TEntity>(this EFDbContext context, int id) where TEntity : class { // Здесь мы можем указывать различные настройки контекста, // например выводить в отладчик сгенерированный SQL-код context.Database.Log = (s => System.Diagnostics.Debug.WriteLine(s)); TEntity item = context.Set <TEntity>().Find(id); if (item != null) { context.Entry <TEntity>(item).State = EntityState.Deleted; } return(item); }