Sam, I answer , clearly defines the difference between an interface and a class, but there are additional considerations when choosing a use case in your code.
In particular, a class can implement more than one interface or it can implement methods and properties that are not defined by any interface.
IDbSet<TEntity> , DbSet<TEntity>, . , FindAsync, RemoveRange SqlQuery . , .
, MSDN IDbSet<TEntity> :
IDbSet<TEntity> (mocks ) DbSet<TEntity>. , , . , EF6, , DbSet<TEntity> .
, , , , DbSet<TEntity> IDbSet<TEntity>, .