2016-06-23 3 views
0

Когда я бегуSQLite подмости с Entity Framework Ядро

Scaffold-DbContext "Filename=mydatabase.sqlite3" Microsoft.EntityFrameworkCore.Sqlite 

я получаю пустой контекст

using Microsoft.EntityFrameworkCore; 
using Microsoft.EntityFrameworkCore.Metadata; 

namespace MyNamespace 
{ 
    public partial class mydatabaseContext : DbContext 
    { 
     protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) 
     { 
      optionsBuilder.UseSqlite(@"Filename=mydatabse.sqlite3"); 
     } 

     protected override void OnModelCreating(ModelBuilder modelBuilder) 
     { 
     } 
    } 
} 

я делаю что-то неправильно. Это доступно для SQLite?

У меня есть одна таблица в базе данных с идентификатором и именем, просто простой пример, чтобы заставить меня двигаться.

+0

Пожалуйста, разместите свое решение как ответ на свой вопрос. –

ответ

0

Он создает новую базу данных в папке bin из-за относительного пути в строке соединения. Я использовал новую строку подключения.

Scaffold-DbContext "DataSource=C:\dev\mydatabase.sqlite3" Microsoft.EntityFrameworkCore.Sqlite 
2

Пути разрешены относительно выходного каталога. (a.k.a. bin.) Убедитесь, что файл базы данных скопирован в выходной каталог при сборке.

ли это в csproj, установив Копировать в выходной каталог в Копировать если новее.

Сделайте это на xproj, добавив следующее к вашему project.json.

{ 
    "publishOptions": { 
    "include": [ 
     "mydatabase.sqlite" 
    ] 
    } 
} 
+0

Полезно знать thx –

Смежные вопросы