RavenDB建模1到许多文档

本文关键字:许多 文档 建模 RavenDB | 更新日期: 2023-09-27 18:10:58

以以下模型为例:

public class Location
{
    public string Id { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }
}
public class Activity
{
    public string Id { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }
}

这些文档之间的关系是一个位置可以没有活动,也可以有多个活动。说伦敦可以有彩弹、卡丁车等等。

我做的事情是把这些文档放到一个文档中,但是观看和阅读文档和博客,文档需要单独访问。你可以想象一个网站页面为每个地点列出活动和活动页面提供详细信息。

查询示例如下:

  • 获取所有位置
  • 获取一个位置的详细信息(给定的位置名称从URL)
  • 从URL中获取每个位置的所有活动
  • 获取活动详细信息(给定位置名称&活动名称从URL)

使用如下所述的DenormalizedReference方法:

http://blogs.sonatribe.com/wayne/2011/07/06/using-denormalized-references-in-ravendb/

(我确实看到了这个,但无法弄清楚语法,或者它是否做了我需要的

)

http://ravendb.net/faq/denormalized-references)

似乎有点适合我的场景。但是当使用上述类型制作演示项目时,我注意到如果我改变了位置名称,它不会在活动中改变它。保持文档同步是一件大事。

我该怎么做呢?

RavenDB建模1到许多文档

Phil,

  • 有一个字符串LocationId属性在活动中,这将允许您查询他们。
  • 它会更容易可能只是存储活动作为一个集合在位置(所以他们不是一个单独的文档,但嵌入在里面)。