protected override void Load(ContainerBuilder builder) { builder.RegisterEventStore(initializationConfiguration => { var configuration = initializationConfiguration.Resolve <IConfiguration>(); var eventStoreConnectionString = configuration.GetValue <string>("CoreEventStore:EventStoreConfig:ConnectionString"); var init = new InitializationConfiguration() { EventStoreConnectionString = eventStoreConnectionString, }; return(init); }) .SubscribeRead(subscriptionConfiguration => { subscriptionConfiguration.AddEvent <CustomerCreatedForMySql>(nameof(CustomerCreatedForMySql)); subscriptionConfiguration.AddEvent <CustomerModified>(nameof(CustomerModified)); }, new CustomProjectorInvoker()) .UseeMySql(context => { var configuration = context.Resolve <IConfiguration>(); var mySqlConnectionString = configuration.GetValue <string>("CoreEventStore:MySqlConfig:ConnectionString"); var mySqlConfiguration = new MySqlConfiguration(); mySqlConfiguration.ConnectionString = mySqlConnectionString; return(mySqlConfiguration); }) .KeepPositionInMySql() .KeepIdempotenceInMySql(); }
static AuthDatabase() { var config = Config.Instance.AuthDatabase; DataAccessModelConfiguration dbConfig; switch (Config.Instance.AuthDatabase.Engine) { case DatabaseEngine.MySQL: dbConfig = MySqlConfiguration.Create(config.Database, config.Host, config.Username, config.Password, true); break; case DatabaseEngine.SQLite: dbConfig = SqliteConfiguration.Create(config.Filename, null); break; default: Logger.Error() .Message("Invalid database engine {0}", Config.Instance.AuthDatabase.Engine) .Write(); Environment.Exit(0); return; } Instance = DataAccessModel.BuildDataAccessModel <Database.Auth.AuthDatabase>(dbConfig); }
public MySqlSnippetQuery(MySqlConfiguration _configuration) { _connectionString = $"server={_configuration.Host};" + $"port={_configuration.Port};" + $"database={_configuration.Database};" + $"uid={_configuration.User};" + $"password={_configuration.Password}"; }
/// <summary> /// Use MySql for the Outbox /// </summary> /// <param name="brighterBuilder">Allows extension method syntax</param> /// <param name="configuration">The connection for the Db and name of the Outbox table</param> /// <param name="connectionProvider">What is the type for the class that lets us obtain connections for the Sqlite database</param> /// <param name="serviceLifetime">What is the lifetime of the services that we add</param> /// <returns>Allows fluent syntax</returns> /// Registers the following /// -- MySqlOutboxConfigutation: connection string and outbox name /// -- IMySqlConnectionProvider: lets us get a connection for the outbox that matches the entity store /// -- IAmAnOutbox<Message>: an outbox to store messages we want to send /// -- IAmAnOutboxAsync<Message>: an outbox to store messages we want to send /// -- IAmAnOutboxViewer<Message>: Lets us read the entries in the outbox /// -- IAmAnOutboxViewerAsync<Message>: Lets us read the entries in the outbox public static IBrighterBuilder UseMySqlOutbox( this IBrighterBuilder brighterBuilder, MySqlConfiguration configuration, Type connectionProvider, ServiceLifetime serviceLifetime = ServiceLifetime.Singleton) { brighterBuilder.Services.AddSingleton <MySqlConfiguration>(configuration); brighterBuilder.Services.Add(new ServiceDescriptor(typeof(IMySqlConnectionProvider), connectionProvider, serviceLifetime)); brighterBuilder.Services.Add(new ServiceDescriptor(typeof(IAmAnOutboxSync <Message>), BuildMySqlOutboxOutbox, serviceLifetime)); brighterBuilder.Services.Add(new ServiceDescriptor(typeof(IAmAnOutboxAsync <Message>), BuildMySqlOutboxOutbox, serviceLifetime)); return(brighterBuilder); }
public static IHummingbirdEventBusHostBuilder AddMySqlEventLogging(this IHummingbirdEventBusHostBuilder hostBuilder, Action <MySqlConfiguration> setupFactory) { #region 配置 setupFactory = setupFactory ?? throw new ArgumentNullException(nameof(setupFactory)); var configuration = new MySqlConfiguration(); setupFactory(configuration); #endregion hostBuilder.Services.AddTransient <MySqlConfiguration>(a => configuration); hostBuilder.Services.AddTransient <IDbConnectionFactory>(a => new DbConnectionFactory(configuration.ConnectionString)); hostBuilder.Services.AddTransient <IEventLogger, MySqlEventLogger>(); return(hostBuilder); }
protected DataAccessModelConfiguration CreateMySqlConfiguration(string databaseName) { var retval = MySqlConfiguration.Create(databaseName, "localhost", "root", "root"); retval.AlwaysSubmitDefaultValues = this.alwaysSubmitDefaultValues; retval.ValueTypesAutoImplicitDefault = this.valueTypesAutoImplicitDefault; retval.SaveAndReuseGeneratedAssemblies = true; ((MySqlSqlDatabaseContextInfo)retval.SqlDatabaseContextInfos[0]).SilentlyIgnoreIndexConditions = true; retval.SqlDatabaseContextInfos[0].SqlDataTypes = new List <Type> { typeof(SqlFixedDateDataType) }; return(retval); }
public DatabaseModel() { //var configuration = SqliteConfiguration.Create("database.sqlite", null); var configuration = MySqlConfiguration.Create("wow", "127.0.0.1", "homestead", "secret"); try { Model = DataAccessModel.BuildDataAccessModel <T>(configuration); } catch (Exception e) { var trace = new StackTrace(e, true); Log.Print(LogType.Error, $"{e.Message}: {e.Source}\n{trace.GetFrame(trace.FrameCount - 1).GetFileName()}:{trace.GetFrame(trace.FrameCount - 1).GetFileLineNumber()}"); } }
protected DataAccessModelConfiguration CreateMySqlConfiguration(string databaseName) { return(MySqlConfiguration.Create(databaseName, "localhost", "root", "root")); }
public MySqlDbContext(MySqlConfiguration configuration) { _configuration = configuration; }
public MySqlOutboxSync(MySqlConfiguration configuration) : this(configuration, new MySqlConnectionProvider(configuration)) { }
public MySqlOutboxSync(MySqlConfiguration configuration, IMySqlConnectionProvider connectionProvider) { _configuration = configuration; _connectionProvider = connectionProvider; ContinueOnCapturedContext = false; }
public static IdentityBuilder AddDapperIdentityForMySql <TKey, TUserRole, TRoleClaim>(this IdentityBuilder builder, MySqlConfiguration configurationOverride) { builder.Services.AddSingleton <SqlConfiguration>(configurationOverride); AddStores(builder.Services, builder.UserType, builder.RoleType, typeof(TKey), typeof(TUserRole), typeof(TRoleClaim)); return(builder); }
public static IdentityBuilder AddDapperIdentityForMySql(this IdentityBuilder builder, MySqlConfiguration configurationOverride) { builder.Services.AddSingleton <SqlConfiguration>(configurationOverride); AddStores(builder.Services, builder.UserType, builder.RoleType); return(builder); }