私は住所オブジェクトを含む会社を持っています。 SQLの戻り値はフラットですが、クエリ<を取得してすべてのオブジェクトをロードするようにしています。dapper -multi-mapping:フラットSQLはネストされたオブジェクトに戻ります
cnn.Query<Company,Mailing,Physical,Company>("Sproc",
(org,mail,phy) =>
{
org.Mailing = mail;
org.Physical = phy;
return org;
},
new { ListOfPartyId = stringList }, null, true, commandTimeout: null,
commandType: CommandType.StoredProcedure, splitOn: "MailingId,PhyscialId").ToList();
SplitOnが正しいかどうかわかりません。素晴らしいことだsplitOn
提案:
マルチマッピングAPIを使用して、あなたがIDパラメータ名以外のキーを持っている 場合はsplitOnのPARAMを設定し確認してください。私はメッセージを取得しています。
Test.csの例は、コードがクエリのパラメータとして要求するものではありません。これらは更新する必要があります
sproc呼び出しで返された結果セットの列を投稿できますか? SplitOnの列が結果セットに存在することを確認する必要があります – bdowden
MailingIdが返されます。 procのすべての戻り値は、オブジェクトのプロパティ/フィールドです。 – Arnej65
dapperのマルチマッピングに最適な答え。 http://stackoverflow.com/questions/7472088/correct-use-of-multimapping-in-dapper/7478958#7478958 – CPhelefu