Open棟梁の機能は多岐に渡り、機能を十分に説明できていない感が強いので、今回は、Open棟梁の「動的パラメタライズド・クエリ」の機能についてご紹介します。
「動的パラメタライズド・クエリ」の機能を簡単に説明すると、「直書きしたSQLのクエリにXMLのタグ付けを行うだけで、クエリの動的化が可能になる機能」と説明できるかと思います。
この機能の登場の背景として、下図のような、従来型の文字列連結処理でクエリを組み立てるデータ・アクセスのプログラミング・スタイルでは、プログラムの可読性も低く、バグや脆弱性も作り易いという問題がありました。
また、一昔前(2010年前後)、O/Rマッパーを中心とした色々なデータ・アクセス技術が登場しましたが、ビジネス・アプリケーションは、複雑なクエリを扱うケースが多く、O/Rマッパーには、様々な"2次元表"を取り出すための柔軟性なクエリ編集機能が備わっておらず、ビジネス・アプリケーションのドメインにあまり適合しませんでした。
コレに対して、「動的パラメタライズド・クエリ」は、前述のタグ付けされたクエリに対してパラメタ操作するだけで、柔軟性なクエリ編集と、プログラムの可読性の向上、バグ・脆弱性の軽減を両立させることができ、ビジネス・アプリケーション向けのデータ・アクセス・ロジックを実装することができます。 また、「動的パラメタライズド・クエリ」のXML定義をテストするための「動的パラメタライズド・クエリ分析ツール」という開発ツールも用意しており、以下の動画を参照することで、「動的パラメタライズド・クエリ」と、「動的パラメタライズド・クエリ分析ツール」の概要を理解することができます。
Open棟梁の動的パラメタライズド・クエリ分析ツールのチュートリアル
・・・と言うことで、「動的パラメタライズド・クエリ機能を是非ご利用下さい。」と言う話でした。また、動的パラメタライズド・クエリ機能は、「
Public名前空間」単品でも使用できるので、フルスタックでの導入以外のコラボレーションも可能ですので、使い所がありましたら、是非ご利用下さい。
補足:今期、「Public名前空間」の.NET Standard化も検討中です。乞うご期待。- 動的パラメタライズド・クエリ - Open 棟梁 Wiki
- 動的パラメタライズド・クエリ分析ツール - Open 棟梁 Wiki
- ADO.NET vs Entity Framework - マイクロソフト系技術情報 Wiki