dapper의 Multimapping 기능을 사용하여 ProductItem 및 관련 고객 목록을 반환하려고합니다.
[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; }
}
내 멋진 코드는 다음과 같습니다.
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"
);
이것은 잘 작동하지만 모든 고객 속성을 반환하려면 splitOn 매개 변수에 전체 열 목록을 추가해야하는 것 같습니다. "CustomerName"을 추가하지 않으면 null이 반환됩니다. 멀티 매핑 기능의 핵심 기능을 잘못 이해하고 있습니까? 매번 전체 열 이름 목록을 추가하고 싶지 않습니다.