【发布时间】:2019-01-30 08:30:20
【问题描述】:
我有以下 Dapper 查询:
var orderModels = db.Query<OrderModel>(@"
SELECT
o.[Id],
o.[CustomerId],
o.[DeliveryAddress_FirstName],
o.[DeliveryAddress_LastName],
o.[DeliveryAddress_Line1],
o.[DeliveryAddress_Line2],
o.[DeliveryAddress_City],
o.[DeliveryAddress_State],
o.[DeliveryAddress_PostCode],
o.[DeliveryAddress_Country],
o.[BillingAddress_FirstName],
o.[BillingAddress_LastName],
o.[BillingAddress_Line1],
o.[BillingAddress_Line2],
o.[BillingAddress_City],
o.[BillingAddress_State],
o.[BillingAddress_PostCode],
o.[BillingAddress_Country]
FROM
[Order] o
");
我想将它加载到以下结构的数据模型中:
public class OrderModel
{
public int Id { get; set; }
public int CustomerId { get; set; }
public AddressModel DeliveryAddress { get; set; }
public AddressModel BillingAddress { get; set; }
}
public class AddressModel
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string Line1 { get; set; }
public string Line2 { get; set; }
public string City { get; set; }
public string State { get; set; }
public string PostCode { get; set; }
public string Country { get; set; }
}
我已尝试查找此内容,并且有一个 feature in Dapper called multi-mapping。但是,当我不加入来自多个表的结果时,我无法弄清楚如何在我的用例中使用它。
对于像 Dapper 这样的 ORM 来说,这感觉是一个非常常见的场景,所以我确定我只是遗漏了一些明显的东西。如果您更了解 Dapper,请提供帮助。
最好的方法是什么?
【问题讨论】: