Qual é a diferença entre DbSet <> e DbSet virtual <>?
No código da estrutura da entidade primeiro, quando declaro entidades, tenho que usar o tipo de propriedades DbSet <> para isso. Por exemplo:
public DbSet<Product> Products { get; set; }
public DbSet<Customer> Customers { get; set; }
Recentemente eu conheci o DbSet <> declarado como virtual.
public virtual DbSet<Product> Products { get; set; }
public virtual DbSet<Customer> Customers { get; set; }
Qual é a diferença? Quais funcionalidades da EF estão ativadas?