如何使用dapper从存储过程中返回多个结果

时间:2019-11-22 12:36:32

标签: asp.net-mvc sql-server-2012 dapper

我有两个表“属性”和“类型”。我俩都需要使用Dapper中的存储过程同时返回。

2 个答案:

答案 0 :(得分:0)

您执行QueryMultiple

string sql = "Invoice_Select";

using (var connection = My.ConnectionFactory())
{
    connection.Open();

    using (var multi = connection.QueryMultiple(sql, new {InvoiceID = 1}, commandType: CommandType.StoredProcedure))
    {
        var invoice = multi.Read<Invoice>().First();
        var invoiceItems = multi.Read<InvoiceItem>().ToList();
    }
}

参考:

答案 1 :(得分:0)

您可以这样做。

var results = conn.QueryMultiple(@"
    SELECT Id, FirstName, LastName FROM dbo.Users; 
    SELECT Id, CompanyName FROM dbo.Companies
");
var users = results.Read<User>();            
var companies = results.Read<Company>();