Was ist der Unterschied zwischen DbSet <> und virtuellem DbSet <>?

In Entity Framework Code Wenn ich Entitäten deklariere, muss ich zuerst den Typ DbSet <> für diese Eigenschaften verwenden. Zum Beispiel:

public DbSet<Product> Products { get; set; }
public DbSet<Customer> Customers { get; set; }

Kürzlich habe ich DbSet <> als virtuell deklariert getroffen.

public virtual DbSet<Product> Products { get; set; }
public virtual DbSet<Customer> Customers { get; set; }

Was ist der Unterschied? Welche EF-Funktionen sind aktiviert?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage