public SQLiteRepository(string connectionString)
{
connectionString = (connectionString ?? string.Empty).Trim();
if (string.IsNullOrEmpty(connectionString))
{
connectionString = "data source=|DataDirectory|BlueCollar.sqlite;synchronous=Off;journal mode=Off;version=3";
}
SQLiteConnectionStringBuilder builder = new SQLiteConnectionStringBuilder(connectionString);
builder.DataSource = BlueCollarSection.Section.ResolvePath(builder.DataSource);
builder.DateTimeKind = DateTimeKind.Utc;
EnsureDatabase(builder.DataSource);
this.ConnectionString = builder.ConnectionString;
try
{
this.defaultIsolationLevel = builder.DefaultIsolationLevel;
}
catch (NullReferenceException)
{
this.defaultIsolationLevel = IsolationLevel.Serializable;
}
this.connection = new SQLiteConnection(this.ConnectionString);
this.connection.Open();
}