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 に答える