Ich versuche, die Multimapping-Funktion von dapper zu verwenden, um eine Liste der ProductItems und der zugehörigen Kunden zurückzugeben.
[Table("Product")]
public class ProductItem
{
public decimal ProductID { get; set; }
public string ProductName { get; set; }
public string AccountOpened { get; set; }
public Customer Customer { get; set; }
}
public class Customer
{
public decimal CustomerId { get; set; }
public string CustomerName { get; set; }
}
Mein adretter Code lautet wie folgt
var sql = @"select * from Product p
inner join Customer c on p.CustomerId = c.CustomerId
order by p.ProductName";
var data = con.Query<ProductItem, Customer, ProductItem>(
sql,
(productItem, customer) => {
productItem.Customer = customer;
return productItem;
},
splitOn: "CustomerId,CustomerName"
);
Dies funktioniert einwandfrei, aber ich muss anscheinend die vollständige Spaltenliste zum Parameter splitOn hinzufügen, um alle Kundeneigenschaften zurückzugeben. Wenn ich "CustomerName" nicht hinzufüge, wird null zurückgegeben. Verstehe ich die Kernfunktionalität der Multimapping-Funktion nicht? Ich möchte nicht jedes Mal eine vollständige Liste der Spaltennamen hinzufügen müssen.