में मल्टीमैपिंग का सही उपयोग मैं उत्पाद Items और संबंधित ग्राहकों की एक सूची वापस करने के लिए डैपर की मल्टीमैपिंग सुविधा का उपयोग करने का प्रयास कर रहा हूं।डैपर
[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 पैरामीटर के लिए पूरा स्तंभ सूची में जोड़ने के लिए सभी ग्राहकों के गुण वापस जाने के लिए है लगता है है। अगर मैं "ग्राहक नाम" नहीं जोड़ता हूं तो यह शून्य हो जाता है। क्या मैं मल्टीमैपिंग सुविधा की मूल कार्यक्षमता को याद करता हूं। मैं हर बार कॉलम नामों की पूरी सूची जोड़ना नहीं चाहता हूं।
var sql = "select cast(1 as decimal) ProductId, 'a' ProductName, 'x' AccountOpened, cast(1 as decimal) CustomerId, 'name' CustomerName";
var item = connection.Query<ProductItem, Customer, ProductItem>(sql,
(p, c) => { p.Customer = c; return p; }, splitOn: "CustomerId").First();
item.Customer.CustomerId.IsEqualTo(1);
splitOn परम ईद के लिए, विभाजन बिंदु के रूप में निर्दिष्ट करने की आवश्यकता है यह चूक:
वास्तव में डेटाग्रिडव्यू में दोनों टेबलों को वास्तव में कैसे दिखाएं? एक छोटा सा उदाहरण बहुत सराहना की जाएगी। –