かな~~~~り昔にやったのと変わってたのでメモ。
NuGet パッケージ
最低限だけでよければこれだけ。
- Microsoft.EntityFrameworkCore.Sqlite
下準備
適当に DbContext を継承したクラスを作ります。
using Microsoft.EntityFrameworkCore; using System; using System.IO; namespace SQLiteApp { public class MyContext : DbContext { public DbSet<Person> People { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { optionsBuilder.UseSqlite( "data source=sample.db" ); } } public class Person { public int Id { get; set; } public string Name { get; set; } } }
そして、OnLaunched の先頭に以下のコードを追加します。
SQLitePCL.Batteries_V2.Init(); SQLitePCL.raw.sqlite3_win32_set_directory(/*data directory type*/1, Windows.Storage.ApplicationData.Current.LocalFolder.Path); SQLitePCL.raw.sqlite3_win32_set_directory(/*temp directory type*/2, Windows.Storage.ApplicationData.Current.TemporaryFolder.Path); using (var context = new MyContext()) { context.Database.EnsureCreated(); }
後は好きに使おう。マイグレーションまわりがどうなってるのかは未確認。