Basically (Whereas you are using the EF( Entity Framework)):
MeuContexto db = new MeuContexto();//Representação das entidades do seu Banco de dados
ICollection<Offline> offline = db.Offline; //Todos os registros da tabela offline são passados para essa coleção
ICollection<Online> online = db.Online;//Mesmo que o de cima só que para tabela online
var filtrado = online.Where(x =>//x é a representação de um item na lista online no caso ele é um objeto "Online", obs: pode ser qualquer nome
                                 /*Where é a mesma coisa q o where no sql, 
                                   vai pegar uma lista onde os registros "batem" com a condição especificada*/
                                !offline.Any(y => //y é a mesma coisa q x só que ele é um objeto "Offline"
                                /*O método Any retorna true se algum item bater com as condições especificadas, no caso: 
                                offline.chave == online.chave*/
                                                 y.chave == x.chave
                                            )
                           );
/* Ou seja filtrado vai receber uma collection de "Online" onde:
Os registros onde "Where" 
não "!"
tem incidencia de chaves iguais na tabela offline "Any(y => y.chave == x.chave)" */
							
							
						 
can you explain me better, because I’m still learning Linq. filtered would you receive a list? and online would be a list with all table items and offline a list with the other items?
– Italo Rodrigo
@Italorodrigo ready, I hope I was clear
– Lucas