MIT’s blog

個人的なメモかな

Visual Studio Community 2022への移行

入院中に作業中断してましたが、本日無事に退院してきました(*^^)v
入院中にスマホでグーグル先生に諸々の質問してVSC2022移行の糸口を見つけた気がするので本格的に作業開始。

 

まず、ラッパーをSystem.Data.SQLiteからMicrosoft製のSQLiteラッパーにする事で.NET 6.0のWindowsフォームアプリケーションでの開発を可能にする。

Microsoft.Data.Sqlite.Core
Microsoft.EntityFrameworkCore.Sqlite
Microsoft.EntityFrameworkCore.Tools

以上の3つをNuGetパッケージマネージャーでインストール。プロジェクトに新しい項目の追加でADO.NET Entity Data Modelの追加は機能しないので単にクラスの追加をしてモデルの作成。以前はコンストラクタのオーバーライドしてた所を

Protected Overrides Sub OnConfiguring(optionBuilder As DbContextOptionsBuilder)
    Dim connectingString = New SqliteConnectionStringBuilder With {
                                                                                   .DataSource = "パス"}.ToString()
    optionBuilder.UseSqlite(New SqliteConnection(connectingString))
End Sub

な感じにする。

実際のデータベース登録時のSqliteConnectionStringBuilderの所が

Dim sqlBuilder As New SqliteConnectionBuilder()
sqlBuilder.DataSource = "パス"
sqlBuilder.JournalMode = SQLiteJournalModeEnum.Persist
sqlBuilder.SyncMode = SynchronizationModes.Off

としていたのを、

Dim sqlBuilder as New SqliteConnectionBuilder With {.DataSource = "パス"}

とした。JournalModeやSyncModeは無いらしい。

 

SqliteCommandも少し違いこれまではSqliteConnectionのみを引数に指定してたが、コネクション渡すには先にコマンドテキスト渡すらしく、コンストラクタに2つパラメーター指定する

New SqliteCommand(text, con)

な感じにした。

 

これ以外にも簡単にデータベースをLinqやAddメソッドでアクセスするもの変える必要があるらしく、明日以降調べて書き直す事にする。