public SqlServerStore(string nameOrConnectionString, Action <TableMetadataBuilder <SqlDbType> > buildTableConfiguration = null) : base(new[] { typeof(string) }) { ConnectionString = nameOrConnectionString.NonEmptyOrNull() ?? throw new ArgumentNullException(nameof(nameOrConnectionString));; var connectionStringName = nameOrConnectionString.GetConnectionStringName(); if (!string.IsNullOrEmpty(connectionStringName)) { ConnectionString = new AppConfigRepository().GetConnectionString(connectionStringName).NonEmptyOrNull() ?? throw new ArgumentNullException(nameof(nameOrConnectionString));; } var tableMetadataBuilder = TableMetadataBuilder <SqlDbType> .Create() .SchemaName("dbo") .TableName(nameof(Setting)) .Column(nameof(Setting.Name), SqlDbType.NVarChar, 300) .Column(nameof(Setting.Value), SqlDbType.NVarChar, -1); buildTableConfiguration?.Invoke(tableMetadataBuilder); TableMetadata = tableMetadataBuilder.Build(); _settingCommandFactory = new SettingCommandFactory(TableMetadata); }
public SQLiteStore(string nameOrConnectionString, Action <TableMetadataBuilder <DbType> > tableConfigBuilder = null) : base(new[] { typeof(string) }) { ConnectionString = nameOrConnectionString.NonEmptyOrNull() ?? throw new ArgumentNullException(nameof(nameOrConnectionString)); var connectionStringName = nameOrConnectionString.GetConnectionStringName(); if (!string.IsNullOrEmpty(connectionStringName)) { ConnectionString = (new AppConfigRepository().GetConnectionString(connectionStringName)).NonEmptyOrNull() ?? throw new ArgumentNullException(nameof(nameOrConnectionString));; } var settingTableConfigBuilder = TableMetadataBuilder <DbType> .Create() .TableName(nameof(Setting)) .Column(nameof(Setting.Name), DbType.String, 300) .Column(nameof(Setting.Value), DbType.String, -1) .Column(SettingTag.Config, DbType.String, 50); tableConfigBuilder?.Invoke(settingTableConfigBuilder); SettingTableMetadata = settingTableConfigBuilder.Build(); _settingCommandFactory = new SettingCommandFactory(SettingTableMetadata); }