मैं ProductItems और संबंधित ग्राहकों की सूची वापस करने के लिए डैपर के मल्टीपैपिंग फीचर का उपयोग करने की कोशिश कर रहा हूं।
[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"
);
यह ठीक काम करता है लेकिन मुझे लगता है कि सभी ग्राहकों की संपत्तियों को वापस करने के लिए स्प्लिटऑन पैरामीटर में पूरी कॉलम सूची को जोड़ना होगा। अगर मैं "CustomerName" नहीं जोड़ता, तो यह अशक्त हो जाता है। क्या मैं मल्टीमैपिंग फीचर की मुख्य कार्यक्षमता को समझने से चूक गया हूं। मैं हर बार कॉलम नामों की एक पूरी सूची नहीं जोड़ना चाहता।