При моделировании реляционной базы данных в базах данных документов полезно, если вы думаете в терминах DDD " Aggregates " и думаете, как будет обрабатываться изменение значения объекта, например, объект является Enitty или Value Object , поэтому в этом случае, если вы хотите, чтобы изменения в валюте влияли на существующие ордера, валюта НЕ является объектом стоимости, и вы просто помещаете ссылку на объект Currency, используемый в Order, как-то похоже на реляционную модель.Смоделируйте это так, как это будет работать в RavenDb:
Агрегат OrderGroup:
public class OrderGroup
{
public int Id { get; set; }
public IList<Order> Orders { get; set; }
}
public class Order
{
public int Id { get; set; }
public int Currency { get; set; }
}
Денежная единица:
public class Currency
{
public int Id { get; set; }
public string Code { get; set; }
public string Name { get; set; }
}
Обратите внимание, однако, что моделируя это, выПотребуются отдельные запросы для извлечения / обновления связанных объектов.