using System.Threading.Tasks;
using Microsoft.Data.SqlClient;
internal record struct One( int OID );
internal record struct Two( int OID, string Name );
public static async Task Main()
using var cnn = new SqlConnection(FiddleHelper.GetConnectionStringSqlServer());
var sql = @"SELECT 1 AS OID, 2 AS OID, 'Name' AS Name";
var map = (One x1, Two x2) => (x1, x2);
var results = await cnn.QueryAsync<One, Two, (One, Two)>(sql, map, splitOn: splitOn).ConfigureAwait(false);
foreach(var result in results)
Console.WriteLine(result);