using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.Linq; namespace DataModel { public class LoggerContext : DbContext { public LoggerContext(String connString) : base() { } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { optionsBuilder.UseSqlite("Data Source=logging.db"); } protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity() .HasMany(e => e.ValueProperties); } public DbSet Profiles { get; set; } public DbSet Logtiggers { get; set; } public DbSet ValueProperties { get; set; } public DbSet Formats { get; set; } public DbSet ExposedSpsVariables { get; set; } public void Init(bool restore = false) { //Database.EnsureCreated(); Formats.Load(); if (!Formats.Any() || restore) { if (restore) { } var formatCSV = new Format() { Name = "CSV" }; var formatJson = new Format() { Name = "JSON" }; Formats.Add(formatCSV); Formats.Add(formatJson); var OneSekTimer = new LogTrigger() { Name = "Timer 1 Sek" }; var OnChangeTigger = new LogTrigger() { Name = "OnChange" }; Logtiggers.Add(OneSekTimer); Logtiggers.Add(new LogTrigger() { Name = "Timer 10 Sek" }); Logtiggers.Add(new LogTrigger() { Name = "Timer 1 min" }); Logtiggers.Add(OnChangeTigger); } SaveChanges(); } } }