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

时间:2017-07-06 09:42:31

标签: vb.net entity-framework sqlite uwp

我是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 :(得分:0)

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

  1. 20170819131117_Inital.cs
  2. 20170819131117_Inital.Designer.cs
  3. DB_ModelModelSnapshot.cs
  4. 从项目中获取的cs文件和vb添加了。如果有人现在知道如何为vb运行add-migration命令,那将非常有用。