stored net framework c# dapper

c# - framework - dapper.net core



dapper-multi-mapping: sql plano vuelve a los objetos anidados (1)

Para mí esto funciona perfecto ... ¿quizás un error tipográfico?

Veo PhyscialId que definitivamente parece uno.

class Company { public int Id { get; set; } public string Name { get; set; } public Mailing Mailing { get; set; } public Physical Physical { get; set; } } class Mailing { public int MailingId { get; set; } public string Name { get; set; } } class Physical { public int PhysicalId { get; set; } public string Name { get; set; } } public void TestSOQuestion() { string sql = @"select 1 as Id, ''hi'' as Name, 1 as MailingId, ''bob'' as Name, 2 as PhysicalId, ''bill'' as Name"; var item = connection.Query<Company, Mailing, Physical, Company>(sql, (org, mail, phy) => { org.Mailing = mail; org.Physical = phy; return org; }, splitOn: "MailingId,PhysicalId").First(); item.Mailing.Name.IsEqualTo("bob"); item.Physical.Name.IsEqualTo("bill"); }

Tengo una empresa que contiene un objeto de dirección. El retorno de SQL es plano, y estoy tratando de obtener Consulta <> para cargar todos los objetos.

cnn.Query<Company,Mailing,Physical,Company>("Sproc", (org,mail,phy) => { org.Mailing = mail; org.Physical = phy; return org; }, new { ListOfPartyId = stringList }, null, true, commandTimeout: null, commandType: CommandType.StoredProcedure, splitOn: "MailingId,PhyscialId").ToList();

No estoy seguro si tengo el SplitOn correcto tampoco. Estoy recibiendo el mensaje:

Cuando utilice las API de asignación múltiple, asegúrese de configurar el parámetro splitOn si tiene claves distintas a la Id. Nombre del parámetro: splitOn

Las sugerencias serían geniales.

Los ejemplos en Test.cs no son lo que el código solicita como parámetros para las consultas. Estos necesitan ser actualizados