タグ

ブックマーク / thinkit.co.jp (3)

  • これからはじめるSilverlight 4

    Copyright © 2004-2024 Impress Corporation. An Impress Group Company. All rights reserved.

  • [Think IT] 第3回:さまざまなデータソースへのアクセス (2/3)

    遅延実行の注意点 こうしたメカニズムからリスト4のようなプログラムを扱う場合は注意が必要になってくる。 リスト4の例では、(1)のforeachループ1回目のタイミングでSQL Serverに対して問い合わせ(publishersテーブル)が発生する。問題は(2)のタイミングである。(2)では(1)のループごとに(publishersに関連づいた)titlesに対してのSQLSQL Serverに対して毎回発行されてしまうことになる。 この回避方法としては、リスト5のようにサブクエリーを使用した形にすれば、SQL Serverへの問い合わせは1回で済む。 static void Main(string[] args) { using(pubsDataContext pubs = new pubsDataContext()) { var query = from p in pubs.pub

    shkatou
    shkatou 2008/01/30
  • [Think IT] 第2回:LINQによるデータアクセス実装 (1/3)

    開発の視点でみるLINQ 前回はLINQについてドメイン層の各パターンを補完することのできるテクノロジーとして紹介した。今回は開発の視点に絞って、実際にVisual Studio 2008を使用した開発手順や手法についてサンプルを紹介しながら解説していく。 まずは、データアクセスの根底にある問題点から、なぜLINQのテクノロジーが必要とされるのかをみていこう。 データベースアクセスのプログラム記述の問題点 LINQのもっとも重要なポイントは、前回記述したようにさまざまなデータソースにおける共通のアクセス手段を提供することである。しかし、より現場の実装作業に近い観点でも数多くの恩恵を受けることができる。 リスト1はADO.NETの接続型を使用したデータベースアクセスを行うプログラムの記述である。ここでの問題点は「(1)SQLが文字列であること」「(2)パラメーターの型があいまいであること」「

    shkatou
    shkatou 2008/01/16
  • 1