首页 文章

没有这样的表:VB.net中的SQLite:UWP

提问于
浏览
0

我是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 回答

  • 0

    问题似乎是由于创建的.cs文件 . 将三个文件转换为.vb文件时,将创建所需的表,并在EFMigrationsHistory表中创建一个条目 . 我已将以下文件从cs手动转换为vb:

    • 20170819131117_Inital.cs

    • 20170819131117_Inital.Designer.cs

    • DB_ModelModelSnapshot.cs

    并且从项目和vb中获取的cs文件已添加 . 如果有人现在知道如何为vb运行add-migration命令,那将非常有帮助 .

相关问题