के साथ एक एकल एसपी से एकाधिक रिकॉर्ड मैप करने के लिए कैसे करें मैं एक ऐसी स्थिति में डैपर का उपयोग करना चाहता हूं जहां एक संग्रहीत प्रक्रिया का निष्पादन 50 अलग-अलग चयनों को वापस कर देगा, व्यक्तिगत परिणाम सेट में से कोई भी नहीं होगा बहुत व्यापक हो, शायद 20 या 30 कॉलम अधिकतर हो। नीचे दिया गया कोड डैपर टेस्ट से है और मैं सोच रहा हूं कि यह उदाहरण उपयोग करने के लिए एक अच्छा प्रोटोटाइप है।डैपर-डॉट-नेट
, धन्यवाद स्टीफन
public void TestMultiMap()
{
var createSql = @"
create table #Users (Id int, Name varchar(20))
create table #Posts (Id int, OwnerId int, Content varchar(20))
insert #Users values(99, 'Sam')
insert #Users values(2, 'I am')
insert #Posts values(1, 99, 'Sams Post1')
insert #Posts values(2, 99, 'Sams Post2')
insert #Posts values(3, null, 'no ones post')";
connection.Execute(createSql);
var sql = @"select * from #Posts p
left join #Users u on u.Id = p.OwnerId
Order by p.Id";
var data = connection.Query<Post, User, Post>(sql, (post, user) => { post.Owner = user; return post; }).ToList();
var p = data.First();
p.Content.IsEqualTo("Sams Post1");
p.Id.IsEqualTo(1);
p.Owner.Name.IsEqualTo("Sam");
p.Owner.Id.IsEqualTo(99);
data[2].Owner.IsNull();
connection.Execute("drop table #Users drop table #Posts");
}
संपादित
यहां नमूने मार्क्स उत्तर के आधार पर है।
const string sql = @"__sp_GetMISMOLoanInfo";
using (var multi = _connection.QueryMultiple(sql, new { loannum = "3192381" }, commandType: CommandType.StoredProcedure))
{
var address = multi.Read<ADDRESS>().Single();
var amortizationRule = multi.Read<AMORTIZATION_RULE>().Single();
var appraiserLicense = multi.Read<APPRAISER_LICENSE>().Single();
var automatedUnderwriting = multi.Read<AUTOMATED_UNDERWRITING>().Single();
var avm = multi.Read<AVM>().Single();
var borrowerDetail = multi.Read<BORROWER_DETAIL>().Single();
}
एसपी कहां है? विशेष रूप से, यह एक * चौड़ा * परिणाम है, या एकाधिक अलग चयन? व्यवसायिक के साथ दोनों काम करते हैं, लेकिन वाक्य रचना दो लेआउट –
के बीच अलग (मैं जानता हूँ कि यह सिर्फ एक उदाहरण था, लेकिन एक तालिका चर में बेहतर हो सकता है, Btw) –
मार्क है, मैं पोस्ट अपने प्रश्नों को प्रतिबिंबित करने के संपादित कर लिया है । –