我熟悉PetaPoco(看起来很棒),但是这里有一个拦截器,我很好奇我是否可以在PetaPoco中做到这一点。
我想要做的是将数据库中的一行映射到一个复合对象。 我认为这个例子可以解决问题。
假设我们在数据库中有一个名为'Customers'的表,行看起来像这样:
ID | Name | City | Street |
1 | John Doe | New York | Some Street Name |
我想使用这样的模型:
public class Customer
{
public int Id { get; set; }
public string Name { get; set; }
public Address Address { get; set; }
}
public class Address
{
public string City{ get; set; }
public string Street { get; set; }
}
所以我们必须在c#中使用不同的对象,但它只有一个实体(一个Id,数据库中的一行)。
我可以使用PetaPoco实现这种映射吗?
答案 0 :(得分:2)
是的,你可以,这很简单:
var customers = db.Fetch<customer, address>(@"
SELECT * FROM customers
LEFT JOIN adresses ON customers.customerID = adresses.customerID
ORDER BY customers.customerID
");
中该内容和其他多重映射的详细信息