PetaPoco:提取到复合对象中
本文关键字:对象 复合 提取 PetaPoco | 更新日期: 2023-09-27 18:31:41
我正在熟悉 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 实现这样的映射吗?
是的,你可以,它就像
:var customers = db.Fetch<customer, address>(@"
SELECT * FROM customers
LEFT JOIN adresses ON customers.customerID = adresses.customerID
ORDER BY customers.customerID
");
有关该映射以及 http://www.toptensoftware.com/blog/posts/115-PetaPoco-Mapping-One-to-Many-and-Many-to-One-Relationships 中的其他多重映射的更多信息