2017-07-30 14 views
0

私は現在、Sqliteを使用してhttps://docs.microsoft.com/en-us/ef/core/get-started/uwp/getting-started(読んで4分)からCodeFirstデータベースをUWPで作成する方法を学んでいます。私はステップを踏んで、すべてがC#でうまくいった。しかし、VB.NETにガイドを翻訳すると、データを追加しようとするとすぐに(追加ボタンをクリックして)Blogsテーブルがデータベースに存在しないというエラーが表示されます。エンティティフレームワークVB.NETのコア - どのように?

SqliteException:SQLiteエラー1: 'そのようなテーブル:ブログ'。 VB.NETで

Add-Migration MyFirstMigrationは "20170729091234_MyFirstMigration.Designer.cs" と呼ばれる追加の(第3)C#ファイルを作成します。

このmicrosoft-exampleをVB.NETで動作させるにはどうすればよいですか?

マイモデル:

Public Class BloggingContext 
Inherits DbContext 
    Property Blogs As DbSet(Of Blog) 
    Property Posts As DbSet(Of Post) 

    Protected Overrides Sub OnConfiguring(optionsBuilder As DbContextOptionsBuilder) 
     optionsBuilder.UseSqlite(String.Format("Data Source={0}", "Blogging.db")) 
    End Sub 
End Class 

Public Class Blog 
    Property BlogId As Integer 
    Property Url As String 
    Property Posts As List(Of Post) 
End Class 

Public Class Post 
    Property PostId As Integer 
    Property Title As String 
    Property Content As String 
    Property BlogId As Integer 
    Property Blog As Blog 
End Class 

MainPage.xaml.vb:

Private Sub Add_Click(sender As Object, e As RoutedEventArgs) 
    Using _Context As New BloggingContext 
     Dim Blog As New Blog With {.Url = NewBlogUrl.Text} 
     _Context.Blogs.Add(Blog) 
     _Context.SaveChanges() '!!This is where the error occurs!! 

     Blogs.ItemsSource = _Context.Blogs.ToList 
    End Using 
End Sub 

Private Sub Page_Loaded(sender As Object, e As RoutedEventArgs) 
    Using _Context As New BloggingContext 
     Blogs.ItemsSource = _Context.Blogs.ToList 
    End Using 
End Sub 

App.xaml.vb:

[...] 
Sub New() 
    InitializeComponent() 

    Using _Context As New BloggingContext 
     _Context.Database.Migrate 
    End Using 
End Sub 
[...] 

あなたが任意のより多くの情報が必要な場合、私は喜んでますそれを提供する。 ありがとうございます!

答えて

0

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

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

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

関連する問題