26 lines
No EOL
859 B
C#
26 lines
No EOL
859 B
C#
using Microsoft.Data.Sqlite;
|
|
using Microsoft.EntityFrameworkCore;
|
|
|
|
namespace EllieBot.Db;
|
|
|
|
public sealed class SqliteContext : EllieContext
|
|
{
|
|
private readonly string _connectionString;
|
|
|
|
protected override string CurrencyTransactionOtherIdDefaultValue
|
|
=> "NULL";
|
|
|
|
public SqliteContext(string connectionString = "Data Source=data/EllieBot.db", int commandTimeout = 60)
|
|
{
|
|
_connectionString = connectionString;
|
|
Database.SetCommandTimeout(commandTimeout);
|
|
}
|
|
|
|
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
|
|
{
|
|
base.OnConfiguring(optionsBuilder);
|
|
var builder = new SqliteConnectionStringBuilder(_connectionString);
|
|
builder.DataSource = Path.Combine(AppContext.BaseDirectory, builder.DataSource);
|
|
optionsBuilder.UseSqlite(builder.ToString());
|
|
}
|
|
} |