I have a NopCommerce Plugin development with the dBContext name BookAppointmentDBContext and Dependency Registrar DependencyRegistrar see my snippet below. 
public class DependencyRegistrar : IDependencyRegistrar
{
    private const string CONTEXT_NAME ="nop_object_context_bookappointment";
    public  void Register(ContainerBuilder builder, ITypeFinder typeFinder, NopConfig config)
    {
        builder.RegisterType<BookAppointmentService>().As<IBookAppointmentService>().InstancePerLifetimeScope();
        //data context
        builder.RegisterPluginDataContext<BookAppointmentDBContext>(CONTEXT_NAME);
        //override required repository with our custom context
        builder.RegisterType<EfRepository<CarInspectionModel>>()
            .As<IRepository<CarInspectionModel>>()
            .WithParameter(ResolvedParameter.ForNamed<IDbContext>(CONTEXT_NAME))
            .InstancePerLifetimeScope();
    }
    public int Order => 1;
}
and BookAppointmentDBContext class below
public class BookAppointmentDBContext : DbContext, IDbContext
{
    #region Ctor
    public BookAppointmentDBContext(DbContextOptions<BookAppointmentDBContext> options) : base(options)
    {
    }
  /*the other implementation of IDbContext as found in http://docs.nopcommerce.com/display/en/Plugin+with+data+access*/
}
Also, I have a BasePluglin class with
public class BookAppointmentPlugin : BasePlugin
{
    private IWebHelper _webHelper;
    private readonly BookAppointmentDBContext _context;
    public BookAppointmentPlugin(IWebHelper webHelper, BookAppointmentDBContext context)
    {
        _webHelper = webHelper;
        _context = context;
    }
    public override void Install()
    {
        _context.Install();
        base.Install();
    }
    public override void Uninstall()
    {
        _context.Uninstall();
        base.Uninstall();
    }
}
I keep having this error: 
ComponentNotRegisteredException: The requested service 'Microsoft.EntityFrameworkCore.DbContextOption 1[[Nop.Plugin.Misc.BookAppointment.Models.BookAppointmentDBContext, Nop.Plugin.Misc.BookAppointment, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]] has not been registered. To avoid this exception, either register a component to provide the service, check for service registration using IsRegistered(), or use the ResolveOptional() method to resolve an optional dependency.
I have BookAppointmentDBContext registered but the error state otherwise.
Any idea what I did wrongly?
 
                        
This issue is the lack of a registered
DbContextOptionwhich is part of the constructor needed to initialize the target db context.Internally this is what
RegisterPluginDataContextdoes.Source
Note it is trying to resolve
DbContextOptions<TContext>when activating the context.You would need to build the db context options and provide it to the container so that it can be injected into the context when being resolved.
Reference Configuring a DbContext