প্রোডাক্ট আইটেম এবং সম্পর্কিত গ্রাহকদের একটি তালিকা ফেরত দেওয়ার জন্য আমি ড্যাপারের মাল্টিম্যাপিং বৈশিষ্ট্যটি ব্যবহার করার চেষ্টা করছি।
[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"
);
এটি দুর্দান্ত কাজ করে তবে গ্রাহকদের সমস্ত সম্পত্তি ফিরে পাওয়ার জন্য স্প্লিটঅন প্যারামিটারে আমার সম্পূর্ণ কলামের তালিকা যুক্ত করতে হবে বলে মনে হচ্ছে। যদি আমি "গ্রাহক নাম" যুক্ত না করি তবে এটি বাতিল হয়। আমি কি মাল্টিম্যাপিং বৈশিষ্ট্যের মূল কার্যকারিতাটি মিস করছি। আমি প্রতিবার কলামের নামের একটি সম্পূর্ণ তালিকা যুক্ত করতে চাই না।