public DataSession(IDatabaseEngine database) : this(database, new CommandFactory(database), new AutoCommitExecutionState(database.GetConnection(), database.GetDataAdapter()), new TransactionalExecutionState(database.GetConnection(), database.GetDataAdapter())) { }