Правильное использование мультимагнитных в Dapper

Я пытаюсь использовать мультимагнитный характер DAPPER, чтобы вернуть список продуктов и связанных с ними клиентов.

[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"
);

Это работает нормально, но мне предстоит добавить полный список столбцов в параметр SPLTON, чтобы вернуть все свойства клиентов. Если я не добавлю «Customername», он возвращает NULL. Я скучаю по пониманию основной функциональности множественной функции. Я не хочу добавлять полный список имен столбцов каждый раз.

98
задан Robert Koritnik 20 September 2011 в 08:35
поделиться