0

100 個までの親テーブルがあり、すべて ID 列として RECID があります。2 つの親に同じ RECID が含まれることはありません。外部キー RECID を持つ 1 つの子テーブルがあります。

ユーザーの要求に応じて100テーブルのドメインで漠然とした次のアイデアを使用してみました:

var stuff = _d.Query<dynamic, sameAgain, dynamic>(
    new Relator().relatem,
    "select * from nebulous as n left join sameAgain on n.RECID = RECID"
    );
...
class dynamic Relator {
    relatem(dynamic parent, sameAgain child)
    {
       // inspired by the most recent blog Multi-POCO in PetaPoco

       ... (parent as IDictionary<string, object>)["RECID"] ...
    }
} 

サイコロはありません。デバッガーが親の ExpandoObjects ではないオブジェクトを表示したため、私はそこに入って混乱しました。そこで、ダイナミックを ExpandoObject に置き換えてみました。

まだサイコロはありません。したがって、興味深い行き止まりのままです。誰もこれを試しましたか?

4

1 に答える 1

0

デフォルトでは、PetaPoco は PetaPoco.cs ファイルの先頭にある「#define PETAPOCO_NO_DYNAMIC」で動的機能を無効にします。動的機能を使用する場合は、その行をコメントアウトして再構築します (もちろん、これには .net 4.0 が必要です)。動的機能が有効になっており、クエリが成功した場合、レコードはデバッグ時にオブジェクトではなく ExpandoObject として表示されます。

于 2011-11-22T18:49:43.850 に答える