39 lines
1.2 KiB
C#
39 lines
1.2 KiB
C#
using Microsoft.EntityFrameworkCore;
|
|
using Microsoft.Extensions.Configuration;
|
|
using Newsbot.Collector.Domain.Consts;
|
|
using Newsbot.Collector.Domain.Entities;
|
|
|
|
namespace Newsbot.Collector.Database;
|
|
|
|
public class DatabaseContext : DbContext
|
|
{
|
|
public DbSet<ArticlesEntity> Articles { get; set; } = null!;
|
|
public DbSet<DiscordQueueEntity> DiscordQueue { get; set; } = null!;
|
|
public DbSet<DiscordWebhookEntity> DiscordWebhooks { get; set; } = null!;
|
|
public DbSet<IconEntity> Icons { get; set; } = null!;
|
|
public DbSet<SourceEntity> Sources { get; set; } = null!;
|
|
public DbSet<SubscriptionEntity> Subscriptions { get; set; } = null!;
|
|
|
|
private string ConnectionString { get; set; }
|
|
|
|
public DatabaseContext(IConfiguration appsettings)
|
|
{
|
|
var connString = appsettings.GetConnectionString(ConfigConnectionStringConst.Database);
|
|
ConnectionString = connString ?? "";
|
|
}
|
|
|
|
public DatabaseContext(string connectionString)
|
|
{
|
|
ConnectionString = connectionString;
|
|
}
|
|
|
|
protected override void OnConfiguring(DbContextOptionsBuilder options)
|
|
{
|
|
options.UseNpgsql(ConnectionString);
|
|
}
|
|
|
|
public DatabaseContext(DbContextOptions<DatabaseContext> options)
|
|
: base(options)
|
|
{
|
|
}
|
|
} |