public void ThrowExceptionWhenTryConfigureAfterBuild() { IDatabaseBuilder builder = Database .Builder .UseConnection(ServerHelper.Connection); builder.Build(); IModelFactory modelFactory = Substitute.For <IModelFactory>(); IQueryProviderFactory queryProviderFactory = Substitute.For <IQueryProviderFactory>(); void ShouldThrowException(Action action) { action .Should() .Throw <InvalidOperationException>( "The configuration is not allowed if the Build method has already been called."); } ShouldThrowException(() => builder.UseConnection(ServerHelper.Connection)); ShouldThrowException(() => builder.UseConnection(ServerHelper.Connection.ConnectionString)); ShouldThrowException(() => builder.UseDatabaseConfiguration <DatabaseConfiguration>()); ShouldThrowException(() => builder.UseDatabaseConfiguration(new DatabaseConfiguration())); ShouldThrowException(() => builder.UseModelFactory(modelFactory)); ShouldThrowException(() => builder.UseQueryProviderFactory(queryProviderFactory)); }
/// <summary> /// Use database configuration. /// </summary> /// <typeparam name="TConfiguration">Configuration type.</typeparam> /// <returns>KORM builder.</returns> public KormBuilder UseDatabaseConfiguration <TConfiguration>() where TConfiguration : DatabaseConfigurationBase, new() { _builder.UseDatabaseConfiguration <TConfiguration>(); return(this); }