Tôi đang cố gắng sử dụng tính năng Multimapping của công cụ lập bản đồ để trả về danh sách ProductItems và Khách hàng được liên kết.Sử dụng đúng cách ghép kênh trong 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; }
}
đang đoan trang của tôi là như sau
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"
);
này hoạt động tốt nhưng tôi dường như có thêm danh sách cột đầy đủ để tham số splitOn trả lại tất cả các thuộc tính khách hàng. Nếu tôi không thêm "CustomerName", nó trả về null. Tôi có hiểu nhầm chức năng cốt lõi của tính năng ghép kênh hay không. Tôi không muốn phải thêm một danh sách đầy đủ các tên cột mỗi lần.
làm cách nào để bạn thực sự hiển thị cả hai bảng trong datagridview? một ví dụ nhỏ sẽ được đánh giá cao. –