/// <inheritdoc/> public IIdGenerator CreateIdGenerator(Type dataType, string tableName, int batchSize) { var connection = GetConnectionForIdGenerator(); var factory = IdGeneratorFactories.GetFactory(dataType, connection); return(new IdGeneratorHelper(factory.GetGenerator(tableName, batchSize), connection)); }
public void ThrowExceptionWhenAdoClientNameIsNotRegistered() { Action action = () => { var factory = IdGeneratorFactories.GetFactory("constring", "System.Data.CustomClient"); }; action.Should().Throw <InvalidOperationException>() .WithMessage("*System.Data.CustomClient*"); }
public void GetFactoryByConnection() { using (var conn = new SqlConnection()) { var factory = IdGeneratorFactories.GetFactory(conn); factory.Should().NotBeNull(); } }
public void ThrowExceptionWhenDataTypeIsNotRegistered() { using (var conn = new CustomConnection()) { Action action = () => { var factory = IdGeneratorFactories.GetFactory(typeof(DateTime), conn); }; action.Should().Throw <InvalidOperationException>(); } }
/// <summary> /// Initializes database for using Id generator. /// </summary> /// <returns>This instance.</returns> public KormBuilder InitDatabaseForIdGenerators() { using IIdGeneratorsForDatabaseInit idGenerators = IdGeneratorFactories.GetGeneratorsForDatabaseInit( ConnectionSettings.ConnectionString, ConnectionSettings.KormProvider); foreach (IIdGenerator idGenerator in idGenerators) { idGenerator.InitDatabaseForIdGenerator(); } return(this); }
public void GeneratorExample() { using (var conn = new SqlConnection()) { var idGeneratorFactory = IdGeneratorFactories.GetFactory(conn); var peopleService = new PeopleService(idGeneratorFactory); peopleService.GenerateData(); } }
private TestDatabase CreateTestDatabase() { TestDatabase db = CreateDatabase(new[] { CreateTable_A, CreateTable_B }); foreach (IIdGenerator idGenerator in IdGeneratorFactories.GetGeneratorsForDatabaseInit(db.Connection)) { idGenerator.InitDatabaseForIdGenerator(); } return(db); }
public void ThrowExceptionWhenConnectionIsNotRegisterd() { using (var conn = new CustomConnection()) { Action action = () => { var factory = IdGeneratorFactories.GetFactory(conn); }; action.Should().Throw <InvalidOperationException>() .WithMessage("*CustomConnection*"); } }
/// <summary> /// Initializes database for using Id generator. /// </summary> /// <returns>This instance.</returns> public KormBuilder InitDatabaseForIdGenerator() { IIdGeneratorFactory factory = IdGeneratorFactories.GetFactory( ConnectionSettings.ConnectionString, ConnectionSettings.KormProvider); using (IIdGenerator idGenerator = factory.GetGenerator(string.Empty)) { idGenerator.InitDatabaseForIdGenerator(); } return(this); }
private TestDatabase CreateTestDatabase() { TestDatabase db = CreateDatabase(new[] { CreateTable_TestTable }); using IIdGeneratorsForDatabaseInit idGenerators = IdGeneratorFactories.GetGeneratorsForDatabaseInit(db.Connection); foreach (IIdGenerator idGenerator in idGenerators) { idGenerator.InitDatabaseForIdGenerator(); } return(db); }
/// <summary> /// Initializes database for using Id generator. /// </summary> /// <returns>This instance.</returns> public KormBuilder InitDatabaseForIdGenerator() { var factory = IdGeneratorFactories.GetFactory(_connectionString.ConnectionString, _connectionString.ProviderName); using (var idGenerator = factory.GetGenerator(string.Empty)) { idGenerator.InitDatabaseForIdGenerator(); } return(this); }
/// <inheritdoc/> public IIdGenerator CreateIdGenerator(string tableName, int batchSize) { var connection = (Connection as ICloneable).Clone() as DbConnection; try { connection.Open(); } catch (SqlException ex) { throw new InvalidOperationException(Resources.CannotOpenConnectionWhenGeneratingPrimaryKeys, ex); } var factory = IdGeneratorFactories.GetFactory(connection); return(new IdGeneratorHelper(factory.GetGenerator(tableName, batchSize), connection)); }
/// <inheritdoc/> public IIdGenerator CreateIdGenerator(string tableName, int batchSize) { var connection = (Connection as ICloneable).Clone() as DbConnection; try { connection.Open(); } catch (SqlException ex) { throw new InvalidOperationException(@"There was a failure to open the database connection at the time " + "the primary keys are generated. Try add 'Persist Security Info = TRUE' to connection string.", ex); } var factory = IdGeneratorFactories.GetFactory(connection); return(new IdGeneratorHelper(factory.GetGenerator(tableName, batchSize), connection)); }
private TestDatabase CreateTestDatabase() { string[] scripts = { string.Format(Script_TableWithAutoIncrementId, Table_AutoIncrementId), string.Format(Script_InsertTrigger, Table_AutoIncrementId), string.Format(Script_UpdateTrigger, Table_AutoIncrementId), string.Format(Script_TableWithManualId, Table_ManualId), string.Format(Script_InsertTrigger, Table_ManualId), string.Format(Script_UpdateTrigger, Table_ManualId), }; TestDatabase db = CreateDatabase(scripts); foreach (IIdGenerator idGenerator in IdGeneratorFactories.GetGeneratorsForDatabaseInit(db.Connection)) { idGenerator.InitDatabaseForIdGenerator(); } return(db); }
/// <summary> /// Registers factory methods for creating an instance of factory into <see cref="IdGeneratorFactories"/>. /// </summary> public static void Register() => IdGeneratorFactories.Register <OleDbConnection>(MsAccessDataHelper.ClientId, (conn) => new MsAccessIdGeneratorFactory(conn as OleDbConnection), (connString) => new MsAccessIdGeneratorFactory(connString));
/// <summary> /// Registers factory methods for creating an instance of factory into <see cref="IdGeneratorFactories"/>. /// </summary> public static void Register() => IdGeneratorFactories.Register <OleDbConnection>("System.Data.OleDb", (conn) => new MsAccessIdGeneratorFactory(conn as OleDbConnection), (connString) => new MsAccessIdGeneratorFactory(connString));
/// <summary> /// Registers factory methods for creating an instance of factory into <see cref="IdGeneratorFactories"/>. /// </summary> public static void Register() => IdGeneratorFactories.Register <SqlConnection>(SqlServerDataHelper.ClientId, (conn) => new SqlServerIdGeneratorFactory(conn as SqlConnection), (connString) => new SqlServerIdGeneratorFactory(connString));
public void GetFactoryByAdoClientName() { var factory = IdGeneratorFactories.GetFactory("connectionstring", SqlServerDataHelper.ClientId); factory.Should().NotBeNull(); }
/// <summary> /// Registrovanie factory metód na vytvorenie inštancie do <see cref="IdGeneratorFactories"/>. /// </summary> public static void Register() => IdGeneratorFactories.Register <SqlConnection>("System.Data.SqlClient", (conn) => new SqlServerIdGeneratorFactory(conn as SqlConnection), (connString) => new SqlServerIdGeneratorFactory(connString));
public void GetFactoryByAdoClientName() { var factory = IdGeneratorFactories.GetFactory("connectionstring", "System.Data.SqlClient"); factory.Should().NotBeNull(); }
/// <inheritdoc/> public IIdGeneratorsForDatabaseInit GetIdGeneratorsForDatabaseInit() => IdGeneratorFactories.GetGeneratorsForDatabaseInit(GetConnectionForIdGenerator());