public IEntityFrameworkDestinationBuilder WithDbEntity(IDbEntityBuilder dbEntityBuilder)
 {
     if (_dbEntityBuilder != null)
     {
         throw new InvalidOperationException("Db entity builder has already been set during the build");
     }
     if (dbEntityBuilder == null)
     {
         throw new ArgumentNullException("dbEntityBuilder");
     }
     _dbEntityBuilder = dbEntityBuilder;
     return(this);
 }
        public ILogGroupDestinationsBuilder Add()
        {
            if (_dbContextProvider == null)
            {
                throw new InvalidOperationException("DbContext provider was not been provided during the build");
            }
            if (_dbEntityBuilder == null)
            {
                _dbEntityBuilder = new LogDbModelEntityBuilder();
            }

            // Create the destionation.
            EntityFrameworkDestination entityFrameworkDestination = new EntityFrameworkDestination(_dbContextProvider, _dbEntityBuilder);

            // Add to log group and return it.
            return(_logGroupDestinationsBuilder.CustomDestination(entityFrameworkDestination));
        }
 public EntityFrameworkDestination(IDbContextProvider dbContextProvider, IDbEntityBuilder dbEntityBuilder)
 {
     _dbContextProvider = dbContextProvider ?? throw new ArgumentNullException("dbContextProvider");
     _dbEntityBuilder   = dbEntityBuilder ?? throw new ArgumentNullException("dbEntityBuilder");
 }