「NServiceKit OrmLite/データベースに接続する」の版間の差分
(ページの作成:「==実装1== この例ではMySQL版を使っている。適宜読み替えること。 ===NuGetからNServiceKit OrmLiteを入れる=== NuGetから「NServiceKit.Orm...」) |
|||
(2人の利用者による、間の9版が非表示) | |||
1行目: | 1行目: | ||
− | == | + | ==実装== |
− | + | ===注意=== | |
+ | *これは[[ServiceStack OrmLite]]ではなく[[NServiceKit OrmLite]]のお話です。 | ||
+ | *[[Mac OS X]]上の[[Xamarin Studio]]と[[MySQL]]版の[[NServiceKit OrmLite]]を使用しており[[Mono]]での動作を前提としている。 | ||
===NuGetからNServiceKit OrmLiteを入れる=== | ===NuGetからNServiceKit OrmLiteを入れる=== | ||
− | [[NuGet]] | + | [[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> | ||
− | |||
− | |||
− | |||
==関連項目== | ==関連項目== | ||
*[[NServiceKit OrmLite]] | *[[NServiceKit OrmLite]] | ||
+ | *[[NServiceKit OrmLite/基本的な使い方]] | ||
==参考文献== | ==参考文献== | ||
63行目: | 73行目: | ||
{{stub}} | {{stub}} | ||
+ | |||
+ | [[category:NServiceKit]] |
2015年10月20日 (火) 06:33時点における最新版
目次
実装編集
注意編集
- これはServiceStack OrmLiteではなくNServiceKit OrmLiteのお話です。
- Mac OS X上のXamarin StudioとMySQL版のNServiceKit OrmLiteを使用しておりMonoでの動作を前提としている。
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();
}
}