4

ORMLite が SQL から何かを読み取り、同じ形状の POCO に適合させる方法について、mythzの投稿を読みました。それは素晴らしい。

一方、ORMLite はこれらの「ビュー POCO」をデータベースに保存するときにどのように処理しますか? これらはテーブルではないため、ビューである場合もあれば、次のような SQL 選択クエリである場合もあります。

var rows = dbCmd.Select<ShipperTypeCount>(
     "SELECT ShipperTypeId, COUNT(*) AS Total FROM Shippers GROUP BY ShipperTypeId ORDER BY COUNT(*)");
4

1 に答える 1

6

OrmLite で使用する POCO について特別なことは何もありません。それらは基になるテーブルに関連付けられたり関連付けられたりすることはなく、OrmLite が呼び出しの間にキャッシュする隠された魔法の状態がないため、どのフィールドがマップされているかがわかります。

すべての DB 呼び出しで、OrmLite は POCO を使用して、型のスキーマ定義に基づいて適切な SELECT、INSERT、UPDATE、または DELETE ステートメントを作成します。INSERT API は、この例をいくつか示しています。

OrmLite は、POCO を SQL ステートメントに変換するだけのものと考えるのが最善です。したがって、挿入しようとすると、代わりに使用する属性がない限り、ShipperTypeCountShipperTypeCountというテーブルにレコードを挿入しようとします。[Alias("UseTableNameInstead")]

于 2012-11-11T17:34:43.530 に答える