中央競馬の予想や購入したもののメモなどを書いて行こうかと。まあ、個人的なメモ的なブログです。
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
ただいまコメントを受けつけておりません。
入院中に作業中断してましたが、本日無事に退院してきました(*^^)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メソッドでアクセスするもの変える必要があるらしく、明日以降調べて書き直す事にする。