|
遅延実行の注意点 こうしたメカニズムからリスト4のようなプログラムを扱う場合は注意が必要になってくる。 リスト4の例では、(1)のforeachループ1回目のタイミングでSQL Serverに対して問い合わせ(publishersテーブル)が発生する。問題は(2)のタイミングである。(2)では(1)のループごとに(publishersに関連づいた)titlesに対してのSQLがSQL Serverに対して毎回発行されてしまうことになる。 この回避方法としては、リスト5のようにサブクエリーを使用した形にすれば、SQL Serverへの問い合わせは1回で済む。 ![]() リスト5:複数のSQL発行を回避する方法
static void Main(string[] args)
リスト6:Windowsアプリケーションでのコントロールバインドの例
private void Form1_Load(object sender, EventArgs e)
データバインド LINQを使用して、コントロールのバインドを行うことができる。特にWebアプリケーション内では、データソースとしてLINQ Data Sourceという新しいデータソースが追加されている。これを用いることで、WebアプリケーションでシームレスにLINQを使用することができるようになっている(リスト6)。 |
||||||||||||
|
前のページ 1 2 3 次のページ |
||||||||||||
|
|
||||||||||||
|
|
||||||||||||
|
||||||||||||
|
|
||||||||||||
|
||||||||||||
|
|
||||||||||||
|
||||||||||||


