单声道上的SQL Server提供程序 - 不支持多个结果集

时间:2016-06-14 11:26:06

标签: sql-server mono

在我们的应用程序中,我在DAL中有一个方法,它执行一个SQL查询,该查询应返回2个结果集。我使用dapper将结果集映射到DTO。在窗户上工作正常。

在Mono上运行时,查询无法获取结果(Dapper抛出空引用异常)。

其他SQL查询在Mono上运行正常。该应用程序能够很好地读/写SQL服务器。

Mono SQL服务器驱动程序中是否存在多个结果集的已知问题? 我无法找到任何记录在案的未解决问题。

这是方法的代码:

using (var connection = ConnectionFactory.OpenConnection())
{
    if (connection == null)
    {
        throw new System.ApplicationException("Could not open DB connection for DAL.");
    }

    Logger?.Trace("Got connection for DAL.");

    var sql = @"SELECT A.x, A.y FROM A;

                SELECT A.x, B.z, B.w
                FROM C INNER JOIN A ON C.x = A.x
                INNER JOIN B ON C.z = B.z";

    using (var multiRes = connection.QueryMultiple(sql))
    {
        if(multiRes == null)
        {
            throw new System.ApplicationException("No results returned from db.");
        }

        res.AddRange(multiRes.Read<aDTO>());

        var mapping = multiRes.Read<aDTO, bDTO, aDTO>((a, b) =>
        {
            ...
            return a;
        }, splitOn: "z").ToList();                        
    }       
}

0 个答案:

没有答案
相关问题