3

在 Orders 和 OrderLines 的经典案例中,每个 OrderLine 都有对其父 Order 的引用。当我将 OrderLine 保存到 RavenDB 时,它会将完整 Order 记录的副本保存为每个 OrderLine 的属性。我如何让它只保存订单的链接?像这样:

{ 
...other orderline properties...
Order : "orders/123"
}

而不是这个

     {
        ...other orderline properties...
        Order : {
    ...all properties for order 123...
        }
}
4

1 回答 1

3

欢迎使用非关系数据库!订单行没有 ID。他们不会被放入自己的文件中。它们存储在重要的地方 - 与订单!

public class OrderLine
{
    public string Product { get; set; }
    public int Quantity { get; set; }
    public decimal Price { get; set; }
}

public class Order
{
    public string Id { get; set; }
    public string CustomerId { get; set; }
    public List<OrderLine> Lines { get; set; }
    public decimal Total { get; set; }
}

生成如下文件:

orders/123
{
    "CustomerId": "customers/456",
    "Lines": [
        { "Product": "Foo", "Quantity": 2, "Price": 10.00 },
        { "Product": "Bar", "Quantity": 3, "Price": 20.00 },
        { "Product": "Baz", "Quantity": 4, "Price": 30.00 }
    ]
    "Total": 200.00
}

有关更多信息,请参阅文档

于 2013-03-04T20:10:32.373 回答