Event と呼ばれるこのオブジェクトがあり、イベントには他のリンクされたテーブルがいくつかあります。
[PetaPoco.ResultColumn]
public Models.User Presenter { get; set; }
Petapoco は、以下を使用するときにオブジェクトをフェッチすることで素晴らしい仕事をします。
evt = db.Fetch<Models.Event, Models.User>(";EXEC GetEventDetails @id", new { id = id });
これにより、プレゼンター データを含むイベントが表示されます。
しかし、問題は、クエリ「利用可能な席」で列が生成されていることです。この列は次のようにオブジェクトにリンクされています。
[PetaPoco.ResultColumn]
public string AvailableSeats { get; set; }
問題は、db.Fetch を使用すると、Available Seats が null になることです。私の解決策は次のとおりです。
evt = db.Fetch<Models.Event>(";EXEC GetEventDetails @id", new { id = id })[0];
evt.Presenter = db.FirstOrDefault<Models.User>("WHERE id=" + evt.PresenterId);
しかし、私はこれがあまり好きではありません。すべてを 1 行のコードにする必要があります。
これはペタポコのバグですか、それとも何か間違っていますか?