1
この関係がありました。 relationDapper - QueryMultiple - 3テーブル
注文エンティティと請求書エンティティの情報をQueryMultipleエンティティで取得するにはどうすればよいですか?
感謝の
この関係がありました。 relationDapper - QueryMultiple - 3テーブル
注文エンティティと請求書エンティティの情報をQueryMultipleエンティティで取得するにはどうすればよいですか?
感謝の
QueryMultiple
あなたはのように、すなわち、複数のselect
を複数の結果セットにアクセスしているときに使用されます。
select * from Order where [email protected]
select * from Invoice where Id = (...probably some sub-query)
は、一緒にこのタイプの問合せをステッチするために何の作り付けのAPIはありません;代わりに、あなたのようなものだろう:私はこのシナリオで改善APIを追加したいと思い
using(var multi = conn.QueryMultiple(...)) {
var order = multi.ReadSingle<Order>();
order.Invoice = multi.ReadSingleOrDefault<Invoice>(); // could be null if 0 rows
return order;
}
を、「表現協会、ここで、{このように、このプロパティを使用しているにこれを参加することは非常に厄介です}。{SomeMember}は{that} {SomeOtherMember}と同じです。 "あなたが実際のように、単一のクエリを実行している場合
しかし、:
select o.*, i.*
from Order o
left outer join Link l on ...
left outer join Invoice i on ...
where o.Id = @id
あなたは、さまざまなQuery<,...,>
オーバーロードを使用することができます。例えば、
int id = ...
var order = conn.Query<Order, Invoice, Order>(sql,
(x,y) => {x.Invoice = y; return x;}, args: new { id }, splitOn: "NumOrder").Single();