SnapObjects ORM

シンプルでパワフルな.NET向け超高速ORM

SnapObjects ORMで.NET開発を簡単に!信じられないほどシンプルですが、機能不足はありません。 生成されたSQLを完全に制御でき、実際にADO.NETのように動作します。

SnapObjects ORM

メリット

Simple, Minimal Coding

シンプルなコーディング

高度な機能のコーディングが簡単で、データアクセスはメンテナンスコストを最小限に抑えるため、モデルに含まれています。

Type-Safe Queries

タイプセーフなクエリ

.NETオブジェクトは、タイプセーフでクエリ条件として使用され、SQLを検証するテスト用APIも提供されています。

Flexible SQL Generation

柔軟なSQL生成

SQLの生成は、モデル属性の包括的なセットを介して制御しますが、必要に応じてSQLを直接コーディングできます。

Loose Relationships

柔軟なリレーション

リレーションシップは事前定義ではなくコーディングで定義するため、特定クエリ内でのみ有効です。

Transaction-Oriented

トランザクション指向

クエリ、アップデート、アクションを追跡でき、トランザクション管理が自動で適用されます。

Ultra-Fast Performance

超高速パフォーマンス

ADO.NET上のオーバーヘッドはほとんどなく、クエリ、アップデート、アクションは一括で実行されます。

コードスニペット

機能

Model


Modelは、データベースのカラムをマッピングし、関連するSQLを含んでいます。 ModelのSQLは、さまざまな属性に基づいて生成されるため、開発者はSQLを制御することができます。 また、ModelはModel自体をネストすることにより、親-子-孫などの複雑な関係を表すことができます。

SQLModelMapper


SQLModelMapperは、トランザクション指向のデータ操作コンポーネントです。 データベースのCRUD操作をシンプルにするオブジェクトとメソッドを提供し、トラッキングする項目に自動トランザクション管理を適用します。 また、トラッキングアイテムはパフォーマンスを向上させるために一括で実行します。

クエリ

クエリを実行し、結果をテンポラリオブジェクトにロードして処理するか、計算された結果を返します。

 プレーンロード

モデルで定義されたクエリを実行し、生成したオブジェクトに結果をロードします。

 集計&スカラーロード

モデルで定義されたクエリを実行し、集計またはスカラー計算とともに結果を返します。

トラッキング

トランザクション管理の目的として、モデルの変更、SQL、アクションをトラッキングします。

 モデルトラッキング

モデル内のデータベースへのInsert/Update/Delete操作をトラッキングおよびキャッシュします。

 SQL CUDトラッキング

データベーステーブルのInsert/Update/Delete操作をトラッキングします。

  アクショントラッキング

単純なCUD操作ではない、より複雑な状況をトラッキングします。たとえば、データベースから取得した特定の値をトラッキングしたり、「保存」操作がキャンセルされたかなどをトラッキングします。

 主従関係のトラッキング

主従関係のあるモデルのデータ状態をトラッキングしてキャッシュします。

実行

モデル、SQL、アクションでトラッキングしたすべてのデータベース操作をデータベースへ一括送信し、ModelMapperにトランザクションを管理させます。

 変更の保存

トラッキングアイテム(モデルの変更、SQL、アクション)の実行により、データベースへのすべての変更を保存します。トラッキングアイテムは、パフォーマンスを向上させるために一括で実行します。

 検証

トラッキングしたモデルの全データを検証します。

非同期

CRUD操作を非同期で実行します。

 非同期クエリ

データを非同期で取得し、プレーンまたは加工して検索結果にロードします。

 非同期実行

データベースへのすべての変更を非同期で反映します。

SQLExecutor


SQLExecutorは、ADO.NETのコアコンポーネントをカプセル化したデータベース操作インタフェースセットです。 SQLExecutorを使うことで、動的SQLの直接実行、SQLBuilderオブジェクト関数の実行、モデルクエリの実行ができます。

 実行

コマンドを実行し、取得した行数を返します。

 クエリ

クエリを実行し、結果をマッピングします。

SQLBuilder


SQLBuiderは、プログラムやデータベースに依存しない方法でSQLステートメントを作成します。 具体的には、シンタックス構造を構築し、SnapObjectsのDataContextオブジェクトと連携して、データベース固有のSQLステートメントを生成します。

 検証

指定されたデータベースのために生成されたSQL文字列を検証します。