中の技術日誌ブログ

C#とC++/CLIと
VBと.NETとWindowsで戯れる
 

目次

Blog 利用状況

ニュース

自己紹介

東京でソフトウェアエンジニアをやっています。
お仕事大募集中です。
記事執筆や、講師依頼とかでも何でもどうぞ(*^_^*)
似顔絵 MSMVPロゴ
MSMVP Visual C# Since 2004/04-2013/03

記事カテゴリ

書庫

日記カテゴリ

00-整理

01-MSMVP

ObjectDataSource

Visual Studio 2005(.NET2.0)からSystem.Web.UI.WebcControls( http://msdn2.microsoft.com/en-us/library/8bhzsw6t(en-US,VS.80).aspx )もかなり強化されています。

GridView( http://msdn2.microsoft.com/en-us/library/4w7ya1ts(en-US,VS.80).aspx )はなかなか使える頼もしい奴なんですが、基本の考え方はDataGrid( http://msdn2.microsoft.com/en-us/library/e1zk1ey1(en-US,VS.80).aspx )と同じです。

ただし値を取得する方法がSystem.Web.UI.IDataSource( http://msdn2.microsoft.com/en-us/library/aad4yfcx(en-US,VS.80).aspx )というインターフェイスコントロールに外だしされています。

このIDataSourceというのがなかなかすごい楽チンになっていて、SQLDataSource( http://msdn2.microsoft.com/en-us/library/cd0cb3we(en-US,VS.80).aspx )やAccessDataSource( http://msdn2.microsoft.com/en-us/library/t15wahz8(en-US,VS.80).aspx )を使うとSQLが直接埋め込まれますが、簡単にSelect( http://msdn2.microsoft.com/en-us/library/wh60683w(en-US,VS.80).aspx ), Insert( http://msdn2.microsoft.com/en-us/library/a7xyzhbc(en-US,VS.80).aspx ), Update( http://msdn2.microsoft.com/en-us/library/ah029hy1(en-US,VS.80).aspx ), Delete( http://msdn2.microsoft.com/en-us/library/t0wbtth7(en-US,VS.80).aspx )をやってくれるようになります。

私は型付DataSetしか利用しないのですが(型付DataSetの方もTableAdapterを簡単に作成してくれるようになっているのですが、また今度)、これとObjectDataSource( http://msdn2.microsoft.com/en-us/library/dx70zk47(en-US,VS.80).aspx )を簡単に連動させることが可能です。

でこのObjectDataSourceですが、EnableCaching( http://msdn2.microsoft.com/en-us/library/s7tysx21(en-US,VS.80).aspx )をtrueにするだけで自動でキャッシュしてくれます。

キャッシュの保持期間や、依存関係の設定もできてCacheDuration( http://msdn2.microsoft.com/en-us/library/kf1wbxks(en-US,VS.80).aspx ), CacheExpirationPolicy( http://msdn2.microsoft.com/en-us/library/1ckcfss4(en-US,VS.80).aspx ), CacheKeyDependency( http://msdn2.microsoft.com/en-us/library/bs63w4y7(en-US,VS.80).aspx )と設定が盛りだくさんです。

ただこの依存関係CacheKeyDependencyに何を設定するのか、SqlCacheDependency( http://msdn2.microsoft.com/en-us/library/bs63w4y7(en-US,VS.80).aspx )クラスを使うとSQL Serverのテーブルの変更の監視を行って、あるテーブルが更新されればキャッシュの破棄なんてことも出来るみたいなんですが、いかんせん理解していないのでそこまで追いついていません。(^^;;

#最近はこんな感じでクラスの海を泳いでいます。

投稿日時 : 2005年9月21日 23:14

コメントを追加

No comments posted yet.
タイトル
名前
URL
コメント