Sql server Mono上的SQL Server提供程序-不支持多个结果集
在我们的应用程序中,我在DAL中有一个方法,它执行一个SQL查询,该查询应该返回2个结果集。我使用dapper将结果集映射到DTO。在窗户上工作很好 在Mono上运行时,查询无法获取结果(Dapper抛出null ref异常) 其他SQL查询在Mono上运行良好。应用程序可以很好地读/写SQL server Mono SQL server驱动程序中的多个结果集是否存在任何已知问题? 我无法找到任何记录在案的未决问题 以下是该方法的代码:Sql server Mono上的SQL Server提供程序-不支持多个结果集,sql-server,mono,Sql Server,Mono,在我们的应用程序中,我在DAL中有一个方法,它执行一个SQL查询,该查询应该返回2个结果集。我使用dapper将结果集映射到DTO。在窗户上工作很好 在Mono上运行时,查询无法获取结果(Dapper抛出null ref异常) 其他SQL查询在Mono上运行良好。应用程序可以很好地读/写SQL server Mono SQL server驱动程序中的多个结果集是否存在任何已知问题? 我无法找到任何记录在案的未决问题 以下是该方法的代码: using (var connection = Conne
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();
}
}
使用(var connection=ConnectionFactory.OpenConnection())
{
if(连接==null)
{
抛出新System.ApplicationException(“无法打开DAL的DB连接”);
}
Logger?.Trace(“已连接DAL”);
var sql=@“从A.x中选择A.y;
选择A.x、B.z、B.w
从C到C.x=A.x上的内部连接A
C.z=B.z”上的内部连接B;
使用(var multiRes=connection.QueryMultiple(sql))
{
if(multiRes==null)
{
抛出新的System.ApplicationException(“没有从db返回结果”);
}
res.AddRange(multiRes.Read());
变量映射=多分辨率读取((a,b)=>
{
...
返回a;
},splitOn:“z”).ToList();
}
}