我是EF Core和SQLite的新手,我按照https://docs.microsoft.com/en-us/ef/core/get-started/uwp/getting-started的步骤进行操作 . 在C#中一切正常,但是当它转换为VB时,我得到以下异常:
Microsoft.Data.Sqlite.SqliteException: 'SQLite Error 1: 'no such table: Blogs'.'
我已经尝试将“Data Source = Blogging.db”更改为绝对路径,但如果我这样做,我会得到
Microsoft.Data.Sqlite.SqliteException: 'SQLite Error 14: 'unable to open database file'.
'
这就是我现在正在使用的(在上下文中):
Protected Overrides Async Sub OnConfiguring(optionsBuilder As DbContextOptionsBuilder)
Dim AssetsFolder As StorageFolder = _
Await Package.Current.InstalledLocation.GetFolderAsync("Assets")
optionsBuilder.UseSqlite(String.Format("Data Source={0}", _
Path.Combine(AssetsFolder.Path, "blogging.db")))
End Sub
在App.xaml.vb中:
Sub New()
InitializeComponent()
Using db = New BloggingContext()
db.Database.Migrate()
End Using
End Sub
任何帮助将非常感激 . 如果您需要更多信息,请告诉我,我很乐意提供 .
Crix
1 回答
问题似乎是由于创建的.cs文件 . 将三个文件转换为.vb文件时,将创建所需的表,并在EFMigrationsHistory表中创建一个条目 . 我已将以下文件从cs手动转换为vb:
20170819131117_Inital.cs
20170819131117_Inital.Designer.cs
DB_ModelModelSnapshot.cs
并且从项目和vb中获取的cs文件已添加 . 如果有人现在知道如何为vb运行add-migration命令,那将非常有帮助 .