【ハウツー】
最新バージョンの2.1から「Select/Update/Insert/Delete」というクラスが追加されています。これらの新しいクラスでは、よりSQLに近い形でコーディングすることができます。コードの例を簡単に紹介します。
//1件のデータを取得(IDが5の書籍データ)
書籍 book =
new Select()
.From(書籍.Schema)
.Where(書籍.IdColumn).IsEqualTo(5)
.ExecuteSingle<書籍>();
//複数件のデータを取得(出版社IDが2以外の書籍データ)
書籍Collection books =
new Select()
.From(書籍.Schema)
.Where(書籍.出版社IDColumn).IsNotEqualTo(2)
.OrderAsc(書籍.Columns.価格)
.ExecuteAsCollection<書籍Collection>();
//複数データの更新(出版社ID=5のデータの価格を2000円に)
int updCnt =
new Update(書籍.Schema)
.Set(書籍.価格Column).EqualTo(2000)
.Where(書籍.出版社IDColumn).IsEqualTo(5)
.Execute();
//複数データの削除(500円以下の書籍を削除)
int delCnt =
new Delete()
.From(書籍.Schema)
.Where(書籍.価格Column).IsLessThanOrEqualTo(500)
.Execute();
これらの新しいクラスではJOIN関係のメソッドなど多くの機能が提供されています。そのため、ActiverRecordクラス、Queryクラスと共に、主要なクラスになっていくと予想されます。
SubSonicはASP.NETのサーバコントロールも提供しています。
| 名前 | 機能 |
|---|---|
| CalendarControl | JavaScriptを使ったカレンダーコントロール |
| DropDown | ドロップダウンリスト |
| LavaBlastManyManyList | 多対多の関連リスト表示1 |
| ManyManyList | 多対多の関連リスト表示2 |
| Scaffold | 簡単なマスタメンテ機能 |
| QuickTable | 表示用テーブル |
| RadioButtons | ラジオボタンのリスト |
これらのコントロールのほとんどがプログラムレスでデータを表示することができます。
例えば、QuickTable/RadioButtons/DropDownといったコントロールでは、TableNameプロパティと幾つかのプロパティを設定するだけで、データを表示できます。また、ScaffoldコントロールはScaffoldType="Auto"と設定するだけで、全テーブルのマスタメンテを行うことができます。
もしツールボックスに、これらのコントロールが表示されていない場合は、ツールボックスの右クリックメニューから[アイテムの選択]を選択し、「SubSonic.dll」に参照設定すると良いでしょう。
RESTHandlerクラスをHTTPハンドラとして利用すると、REST(Webサービス)としてデータを公開することができます。例えば、Web.configに次の設定を追加したとします。
<configuration>
~省略~
</system.web>
<location path="services">
<system.web>
<httpHandlers>
<add verb="*" path="*.xml"
type="SubSonic.WebUtility.RESTHandler, SubSonic" />
</httpHandlers>
</system.web>
</location>
</configuration>
この状態で「http://<サーバ名>/services/<テーブル名>/List.xml」というURLにアクセスすると、XML形式でテーブルのデータを取得できます(英語名のテーブルのみ)。
URLにパラメータをつけると、取得データを変更することができます。例えば、List.xmlのうしろに「?age=18」と追加するとage列が18歳のデータ、
「?minz_age=18」と追加すると18歳以上のデータというようなイメージでクエリを実行できます。
以上、駆け足でしたが、SubSonicの機能について3回にわたって紹介してきました。 データベースにアクセスするにはADO.NET、LINQ to SQL、DataSet、S2Dao.NET、NHibernateなど様々な方法がありますが、SubSonicには、多くのコードを自動生成して手軽に利用できるという特徴があります。そのため、変化の速いWebアプリケーションを手早く構築するのに適しているツールともいえます。今後、ASP.NETでアプリケーションを開発する際には、SubSonicの利用も検討してみてはいかがでしょうか。
| SubSonicを使ってASP.NETで簡単にDBアクセスする - プログラミング編 [2008/10/3] |
| SubSonicを使ってASP.NETで簡単にDBアクセスする [2008/9/25] |
| 理研、脳・脊髄形成に必要な神経板湾曲の仕組みを解明 [20:16 5/25] |
| 京大、「慢性閉塞性肺疾患」患者の労作時呼吸困難は鍼治療が有効と実証 [20:08 5/25] |
| 120Hz SHVカメラ用イメージセンサーを使った撮像装置 - SHVフルスペック化へ [18:10 5/25] |
| 京大、視覚による物体認知は前頭前野からのトップダウン信号が重要と確認 [17:45 5/25] |
| 製品数の拡大だけでなくBCPの展開なども含めた総合力で事業の強化を図るTI [17:25 5/25] |
|
最もセクシーな男性「メン・オン・ファイア」21人をAARP誌が発表 [21:30 5/26] エンタメ |
|
【インタビュー】栗山千明 - ファンタジーという世界観だからできること [21:30 5/26] エンタメ |
|
ゲイリー・オールドマン、『ロボコップ』リメイク作品に科学者役で出演決定 [21:30 5/26] エンタメ |
|
ビースティ・ボーイズのマイクD、「アダムに一番美しい方法で嘘をつかれた」 [21:30 5/26] エンタメ |
|
[這いよれ!ニャル子さん]ラジオ「アニスパ!」が番組内に クー子役の松来未祐がネタ投稿 [21:00 5/26] ホビー |
4つの診断で、自分の適性を見つめなおそう!
働くこと・挑戦し続けることへの思いを綴ったインタビュー
あなたにピッタリのアドバイスを読むことができます。
転職に必要な情報が収集できます
企業からアプローチのメッセージが届きます。