2017-07-06 12 views
0

私はEF CoreとSQLiteを初めて使用しました。私はhttps://docs.microsoft.com/en-us/ef/core/get-started/uwp/getting-startedの手順に従っています。すべてがC#でうまく動作しますが、VBにそれを変換するときしかし、私は次の例外を取得:このようなテーブルはありません:VB.netのSQLite:UWP

Microsoft.Data.Sqlite.SqliteException: 'SQLite Error 1: 'no such table: Blogs'.' 

を私は絶対パスに「データソース= Blogging.db」に変更しようとしましたが、私は行った場合

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で:私はこれは私が(コンテキストで)今使っているものです

Microsoft.Data.Sqlite.SqliteException: 'SQLite Error 14: 'unable to open database file'.取得

Sub New() 
    InitializeComponent() 
    Using db = New BloggingContext() 
     db.Database.Migrate() 
    End Using 
End Sub 

ご協力いただければ幸いです。さらに詳しい情報が必要な場合は、私にお知らせください。喜んで提供します。

Crix

+0

あなたは 'Blogs'テーブルを作成しましたか? SQLite EFプロバイダは、そのままの状態での移行をサポートしていません。それ以外の場合は、間違ったファイルを開いています。また、SQLiteのマイグレーションライブラリが必要な場合は、このパッケージを使用することもできます。https://www.nuget.org/packages/System.Data.SQLite.EF6.Migrations/ – bubi

+0

ご連絡ありがとうございます。私は 'Add-Migration MyFirstMigration'を実行しました。(うまくいけば)私のためにブログテーブルを作成しました。だから私はそれに3つのマイグレーションファイルを持つ 'Migrations'-Folderを持っている。 – Crix

+0

あなたのシステムからあなたのアプリをアンインストールしてください(スタート - >あなたのアプリ - >アンインストールを右クリックしてください)。 –

答えて

0

問題は、作成された.csファイルが原因と考えられます。 3つのファイルを.vbファイルに変換すると、目的のテーブルが作成され、EFMigrationsHistoryテーブルにエントリが作成されます。私は手動でVBにCSから以下のファイルを変換しています。プロジェクトから取ら

  1. 20170819131117_Inital.cs
  2. 20170819131117_Inital.Designer.cs
  3. DB_ModelModelSnapshot.cs

とCSファイルとvbが追加されました。誰かが今vbのための移行の追加コマンドを実行する方法を知っているなら、それは非常に役に立ちます。

関連する問題