SQLite - migracje

0

Cześć Wszystkim,
Mój program tworzy bazę danych o ile ta wcześniej nie istniała. Jeżeli istnieje to po prostu dopisuje do niej dane. Problem jednak w tym, że gdy zmienię model (dodając chociażby jedną kolumnę - CodeFirst - to program już nie wpisuje poprawnie danych do tej bazy. Wiem, że to problem z migracjami jednak nie wiem jak go rozwiązać. Mam nadzieję, że ktoś pomoże. Poniżej kody źródłowe:

a) model:

using System;
using System.ComponentModel.DataAnnotations.Schema;

namespace test
{
    [Table("test")]
    public class test
    {
        public int Id { get; set; }

        [Column("SCIEZKA_LOKALNA")]
        public string LocalPath { get; set; }

        [Column("STATUS_PRZENIESIENIA")]
        public string MoveStatus { get; set; }

        [Column("DATA_UTWORZENIA")]
        public DateTime CreateDate { get; set; }
    }
}

b) połączenie:

using System;
using System.Data.Entity;
using System.Data.SQLite;
using System.IO;


namespace SimpleScanSynch
{
    public class LocalSqliteUtils
    {
        private readonly string database = "test.sqlite";

        public LocalSqliteUtils()
        {
            CreateDbEntity();
        }

        private void CreateDbEntity()
        {
            if (!File.Exists(database))
            {
                new BaseContext(database);
            }
        }
}

c) kontekst:

using SQLite.CodeFirst;
using System.Data.Entity;
using System.Data.SQLite;

namespace SimpleScanSynch.Context
{
    public class BaseContext : DbContext
    {
        public BaseContext(string database) : base(new SQLiteConnection()
        {
            ConnectionString = new SQLiteConnectionStringBuilder()
            {
                DataSource = database,
                ForeignKeys = true
            }
            .ConnectionString
        }, true)
        { }

        public virtual DbSet<test> test{ get; set; }
        
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            Database.SetInitializer(new SqliteCreateDatabaseIfNotExists<BaseContext>(modelBuilder));
            base.OnModelCreating(modelBuilder);
        }
    }
}

0

Ale sama migracja przechodzi ci poprawnie?

0

No nie ma w ogóle mechanizmu migracji. Jak tylko go dodam to program się 'nie wysypuje', ale nic nie wpisuje do bazy, a to strata informacji na którą pozwolić nie mogę.

1 użytkowników online, w tym zalogowanych: 0, gości: 1