namespace Sample.Orders
{
public class Order : FullAuditedEntity<string>
{
[Column("OrderId")]
public override string Id { get; set; }
public long BillToAddressId { get; set; }
public virtual Address.BillToAddress BillTo { get; set; }
public string ShipToAddressId { get; set; }
public virtual Address.ShipToAddress ShipTo { get; set; }
}
}
namespace Sample.Shipments
{
public class Shipmen : FullAuditedEntity<string>
{
[Column("ShipmentId")]
public override string Id { get; set; }
public long AddressId { get; set; }
public virtual Address.ShipmentShipTo ShipTo { get; set; }
}
}
namespace Sample.Address
{
public abstract class Address : FullAuditedEntity<string>
{
public override string Id { get; set; }
public double Name { get; set; }
public string City { get; set; }
public string ParentId { get; set; }
public string AddressType { get; set; }
}
public class OrderBillTo : Address { }
public class OrderShipTo : Address { }
public class ShipmentShipTo : Address { }
}
订单:
OrderId
BillToAddressId
ShipToAddressId
地址:
Id
Name
City
AddressType
如何映射像这些
由字段OrderBillTo选择从地址表的地址:的ParentId = {的OrderId},地址类型= 'OrderBillTo'
由字段OrderShipTo选择从地址表的地址:的ParentId = {的OrderId},地址类型= 'OrderShipTo'
ShipmentShipTo通过字段选择Address Address Address Address:ParentId = {AddressId},AddressType ='ShipmentShipTo'
Thanks!
附:如果你愿意,我可以告诉你如何在链中代替EF。 –
搜索后,我认为这可能不是一个很好的方法来做到这一点。谢谢! – Yinsen