備忘録

備忘録

.NET CoreでSQLite3を使う方法

Ⅰ. はじめに

タイトルの通り「.NET CoreでSQLite3を使う方法」です。

Ⅱ. インストール

Install-Package Microsoft.Data.Sqlite

Ⅲ. INSERT方法

サンプルプログラム
using (var db = new SqliteConnection("Filename=db.sqlite3"))
{
  db.Open();

  var command = new SqliteCommand();

  command.Connection = db;
  command.CommandText = "insert into users(name, age) values (@Name, @Age);";
  command.Parameters.AddWithValue("@Name", "tanaka");
  command.Parameters.AddWithValue("@Age", 20);
  command.ExecuteNonQuery();
}
実行結果

f:id:kagasu:20180703082855p:plain

Ⅳ. SELECT方法

サンプルプログラム
static IEnumerable<long> GetUserIds()
{
  using (var db = new SqliteConnection("Filename=db.sqlite3"))
  {
    db.Open();

    var command = new SqliteCommand("select user_id from acccounts", db);
    var reader = command.ExecuteReader();

    while (reader.Read())
    {
      yield return reader.GetInt64(0);
    }
  }
}

static void Main(string[] args)
{
  var userIds = GetUserIds();
  userIds.ToList().ForEach(Console.WriteLine);
}
実行結果

f:id:kagasu:20180821125528p:plain

Ⅳ. SELECT方法(Dapper)

サンプルプログラム
static List<long> GetUserIds()
{
  using (var db = new SqliteConnection("Filename=db.sqlite3"))
  {
    db.Open();
    return db.Query<long>("select user_id from accounts");
  }
}

static void Main(string[] args)
{
  var userIds = GetUserIds();
  userIds.ForEach(Console.WriteLine);
}
実行結果

f:id:kagasu:20180821125528p:plain