HOWTO: SQLite с EntityFramework и Code-First

Я пытаюсь на лету создать встроенную базу данных SQLite с помощью EF, однако я не могу заставить ее работать, файл базы данных никогда не создается.

У меня EF 4.2 и последняя версия SQLite

Вот что у меня есть

app.config

<?xml version="1.0"?>
<configuration>
  <system.data>
    <DbProviderFactories>
      <remove invariant="System.Data.SQLite"/>
      <add name="SQLite Data Provider"
           invariant="System.Data.SQLite"
           description=".Net Framework Data Provider for SQLite"
           type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite"/>
    </DbProviderFactories>
  </system.data>
  <connectionStrings>
    <add name="DataContext"
         connectionString="Data Source=test.db;Version=3;New=True;"
         providerName="System.Data.SQLite" />
  </connectionStrings>
  <startup>
    <supportedRuntime version="v4.0" />
  </startup>
</configuration>

Инициализатор БД (для добавления содержимого)

class PageDbInitializer : DropCreateDatabaseAlways<PageDB>
{
    protected override void Seed(PageDB context)
    {
        for (int i = 0; i < 10; i++)
        {
            WebPage page = new WebPage() { Name = "Page" + (i + 1) };
            context.Pages.Add(page);
        }
        base.Seed(context);
    }
}

DbContext:

class PageDB : DbContext
{
        public DbSet<WebPage> Pages { get; set; }
}

И, наконец, в основном ()

Database.SetInitializer( new PageDbInitializer() );

Мне кажется, что мне не хватает некоторых шагов, но я не могу их найти.

22
задан Pierluc SS 23 July 2012 в 20:01
поделиться