public TodoDatabase(ProviderType providerType, string dbConnectionString) { SqlFuManager.Configure(cfg => { switch (providerType) { case ProviderType.SqlServer2012: cfg.AddProfile(new SqlServer2012Provider(SqlClientFactory.Instance.CreateConnection), dbConnectionString); break; case ProviderType.Sqlite: cfg.AddProfile(new SqliteProvider(SqlClientFactory.Instance.CreateConnection), dbConnectionString); break; default: throw new ArgumentException("Not supported provider type", nameof(providerType)); } cfg.ConfigureTableForPoco <TodoItem>(info => { info.TableName = new TableName("todo_item"); info.Property(t => t.Id).IsAutoincremented(); info.Property(t => t.IsComplete).MapToColumn("is_complete"); info.Property(t => t.UserId).MapToColumn("user_id"); }); cfg.ConfigureTableForPoco <User>(info => { info.TableName = new TableName("user"); info.Property(u => u.Id).IsAutoincremented(); info.IgnoreProperties(u => u.TodoItems); }); }); dbFactory = SqlFuManager.GetDbFactory(); }
public async Task <List <Client> > GetClients() { System.Threading.CancellationToken ct = default; List <Client> result; using (DbConnection db = SqlFuManager.GetDbFactory <IPdfGeneratorDb>().Create()) { result = await db.QueryAsync <Client>(ct, SqlQueries.GetClients); } return(result); }
public static IConfigureEventStore UseSqlite(this IConfigureEventStore store, Func <DbConnection> factory, string cnx, string schema = null) { SqlFuManager.Configure(d => { d.AddProfile(new SqlFu.Providers.Sqlite.SqliteProvider(factory), cnx, "sqlite"); RegisterSqlFuConfig(d, schema); }); var provider = new SqliteProvider(SqlFuManager.GetDbFactory("sqlite")); store.WithProvider(provider); return(store); }
public static IDbFactory GetConnection() => SqlFuManager.GetDbFactory();
public static DbConnection GetConnection() => SqlFuManager.GetDbFactory( //#if SqlServer //#elif Sqlite // "sqlite" //#endif ).Create();