Я с первой попытки использую 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