TheOne.OrmLite

提供: MonoBook
ナビゲーションに移動 検索に移動

TheOne.OrmLiteとは、.NET向けのORMである。

概要

名称からServiceStack.OrmLiteフォーク品かと思ったが、中身はSQLite.NETの独自ORMにそっくりな代物であった。

使用例

軽く試した限りではMySQLでも問題なく動作した。

using TheOne.OrmLite.Core;
using TheOne.OrmLite.Core.DataAnnotations;
using TheOne.OrmLite.MySql;

[OrmLiteAlias("test_table")]
class TestTable {
        [OrmLitePrimaryKey]
        public string code { get; set; }
        public string name { get; set; }
}

class Program
{
    static void Main(string[] args)
    {
        // MySQLへの接続情報
        string server = "localhost";        // MySQLサーバホスト名
        string user = "root";           // MySQLユーザ名
        string pass = "";           // MySQLパスワード
        string database = "test";      // 接続するデータベース名
        string connectionString = string.Format("Server={0};Database={1};Uid={2};Pwd={3}", server, database, user, pass);

        var dbFactory = new OrmLiteConnectionFactory(connectionString, MySqlDialect.Provider);
        using (var db = dbFactory.Open())
        {
            // ヘビーORMのような小難しいマッパーはない。
            // あるのはCreateTableだけだ。
            // テーブル定義は一発で決めろ。
            db.CreateTableIfNotExists<TestTable>();

            // UPSERTもできるぞ。
            db.Save(new TestTable { code = "hokkaido", name = "北海道" });
        }
    }
}