「NServiceKit OrmLite/データベースに接続する」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
(ページの作成:「==実装1== この例ではMySQL版を使っている。適宜読み替えること。 ===NuGetからNServiceKit OrmLiteを入れる=== NuGetから「NServiceKit.Orm...」)
 
 
(2人の利用者による、間の9版が非表示)
1行目: 1行目:
==実装1==
+
==実装==
この例ではMySQL版を使っている。適宜読み替えること。
+
===注意===
 +
*これは[[ServiceStack OrmLite]]ではなく[[NServiceKit OrmLite]]のお話です。
 +
*[[Mac OS X]]上の[[Xamarin Studio]]と[[MySQL]]版の[[NServiceKit OrmLite]]を使用しており[[Mono]]での動作を前提としている。
  
 
===NuGetからNServiceKit OrmLiteを入れる===
 
===NuGetからNServiceKit OrmLiteを入れる===
[[NuGet]]から「NServiceKit.OrmLite.MySQL」を入れる。
+
[[NuGet]]から「'''NServiceKit.OrmLite.MySQL'''」を入れる。
 
MySsql.Dataも一緒に入ってくるのでこれでセットアップは終わり。
 
MySsql.Dataも一緒に入ってくるのでこれでセットアップは終わり。
  
30行目: 32行目:
 
===プログラムから接続してみる===
 
===プログラムから接続してみる===
 
簡単なコンソールプログラムを書いてみる。
 
簡単なコンソールプログラムを書いてみる。
 +
 +
以下のグローバルアセンブリを利用しているので参照に追加すること。
 +
*System.Configuration;
 +
*System.Data
 +
 +
この[[ソースコード]]では以下の部分が肝となる。これを忘れると動かない。使用する[[データベース]]ごとに適切なものを指定すること。
 +
*OrmLiteConfig.DialectProvider = MySqlDialectProvider.Instance;
 +
 +
OrmLiteではConnectionStringクラスの拡張メソッドが用意されており、OpenDbConnection()メソッドを呼ぶだけで接続が完了する。便利すぎ。
 +
 
<source lang="csharp">
 
<source lang="csharp">
 
     using System;
 
     using System;
52行目: 64行目:
 
     }
 
     }
 
</source>
 
</source>
 
*OrmLiteConfig.DialectProvider = MySqlDialectProvider.Instance;
 
上記が肝となる。これを忘れると動かない。
 
  
 
==関連項目==
 
==関連項目==
 
*[[NServiceKit OrmLite]]
 
*[[NServiceKit OrmLite]]
 +
*[[NServiceKit OrmLite/基本的な使い方]]
  
 
==参考文献==
 
==参考文献==
63行目: 73行目:
  
 
{{stub}}
 
{{stub}}
 +
 +
[[category:NServiceKit]]

2015年10月20日 (火) 06:33時点における最新版

実装[編集 | ソースを編集]

注意[編集 | ソースを編集]

NuGetからNServiceKit OrmLiteを入れる[編集 | ソースを編集]

NuGetから「NServiceKit.OrmLite.MySQL」を入れる。 MySsql.Dataも一緒に入ってくるのでこれでセットアップは終わり。

app.configにConnectionStringを用意する[編集 | ソースを編集]

app.configがなければ追加する。NuGetからMySql.Dataを入れるとapp.configが勝手に追加されるので通常は存在していると思う。

<?xml version="1.0" encoding="utf-8"?>
<configuration>

  <!-- 以下はNuGetからMySql.Dataを入れると自動的に書かれる -->
  <system.data>
    <DbProviderFactories>
      <remove invariant="MySql.Data.MySqlClient" />
      <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.9.7.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
    </DbProviderFactories>
  </system.data>

    <!-- これを追加する。DBサーバーの設定は適宜書き換えること -->
    <connectionStrings>
    <add name="MySQL" connectionString="SERVER=localhost; DATABASE=test; UID=root; PASSWORD=password" providerName="MySql.Data.MySqlClient" />
  </connectionStrings>

</configuration>

プログラムから接続してみる[編集 | ソースを編集]

簡単なコンソールプログラムを書いてみる。

以下のグローバルアセンブリを利用しているので参照に追加すること。

  • System.Configuration;
  • System.Data

このソースコードでは以下の部分が肝となる。これを忘れると動かない。使用するデータベースごとに適切なものを指定すること。

  • OrmLiteConfig.DialectProvider = MySqlDialectProvider.Instance;

OrmLiteではConnectionStringクラスの拡張メソッドが用意されており、OpenDbConnection()メソッドを呼ぶだけで接続が完了する。便利すぎ。

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Configuration;
    using System.Data;
    using NServiceKit.OrmLite;
    using NServiceKit.OrmLite.MySql;

    class MainClass
    {
        public static void Main(string[] args)
        {
            // MySQLを使うことを事前に指定しておく必要がある
            OrmLiteConfig.DialectProvider = MySqlDialectProvider.Instance;

            // データベースに接続する
            var cs = ConfigurationManager.ConnectionStrings["MySQL"].ConnectionString;
            var db = cs.OpenDbConnection();
        }
    }

関連項目[編集 | ソースを編集]

参考文献[編集 | ソースを編集]