Sqlite внешний ключ с Entity Framework - PullRequest
0 голосов
/ 16 марта 2019

Я с первой попытки использую sqlite + EF.У меня есть следующая простая модель мастер-детализации в SqLite.

CREATE TABLE IF NOT EXISTS VoronoiDiagram
(
    ID integer PRIMARY KEY  AUTOINCREMENT,
    InteriorCells integer,
    DateCreated text,
    DateProcessed text
)

CREATE TABLE IF NOT EXISTS VoronoiCell
(
    ID integer PRIMARY KEY AUTOINCREMENT,
    IsProcessed integer,
    DateCreated text,
    DateProcessed text,
    VoronoiDiagram_ID integer,

    FOREIGN KEY([VoronoiDiagram_ID]) REFERENCES VoronoiDiagram([ID])
)

Теперь у меня есть мой OnModelCreating метод, подобный этому:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    //var sqliteConnectionInitializer = new SqliteCreateDatabaseIfNotExists<MyContext>(modelBuilder);
    //Database.SetInitializer(sqliteConnectionInitializer);

    modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();

    base.OnModelCreating(modelBuilder);

    modelBuilder.Entity<VoronoiDiagram>()
             .HasKey(s => s.ID)
            .HasMany<VoronoiCell>(c => c.VoronoiCells)
            .WithMany();
    modelBuilder.Entity<VoronoiCell>()
            .HasKey(x => x.ID)
            .HasRequired(c => c.VoronoiDiOnMagram);
}

Но каждый раз, когда я пытаюсь добавитьVoronoiDiagram Для объекта со списком VoronoiCells код выдает следующее исключение:

Логическая ошибка SQL: в таблице VoronoiCell нет столбца с именем VoronoiDiagram_ID1

И яя понятия не имею, к какому полю это относится, поскольку у меня есть только одно, называемое: VoronoiDiagram_ID.Любая помощь будет оценена.Я использую версию 1.0.110.1 System.Data.SQLite + EF 6.0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...