4章LINQによるデータ取得
LINQはC# 3で導入されました。LINQを使用すると、データソースに対してSQL的な構文を使用してクエリを実行できるようになります。LINQは言語機能の一部であるため、IDE上でシンタックスハイライトやIntelliSenseといった機能のサポートを受けることができます。
LINQは一般的にはデータベースに対するクエリ実行ツールであり、データベース上のデータ表現とC#のオブジェクトとの差異、すなわちインピーダンス不整合を解消するためのものだと認識されています。実際のところは、あらゆるデータテクノロジーに対するLINQプロバイダーを実装できます。例えば筆者はLINQ to Twitter(https://github.com/JoeMayo/LinqToTwitter)というTwitter API用のオープンソースプロバイダーを実装しました。
本章の例では別の方法を採用しています。外部データソースを参照する代わりに、LINQ to Objectsと呼ばれる、インメモリのデータソースを特に対象とするようなプロバイダーを使用します。多くのインメモリデータ処理はC#ではループや命令文によって実行されますが、LINQを使用すると処理方法ではなくて処理対象に集中した宣言的コードを作成できるようになるため、コードを単純化できます。各節には1つ以上の固有のエンティティ(クエリ対象のオブジェクト)が定義されていて、InMemoryContext
がクエリ対象となるインメモリのデータをセットアップしています。
本章のいくつかのレシピはオブジェクトの形状を変化させたり、単にクエリを実行したりするような単純なものです。しかしどのレシピにも、コードを明確かつ単純にするための要点がいくつかあるので注意してください。 ...
Get C#クックブック ―プロフェッショナル開発者のためのモダンレシピ now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.