【发布时间】:2011-10-12 19:19:25
【问题描述】:
以这个模型为例:
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 )
似乎有点适合我的场景。但是在使用上述类型制作演示项目时,我注意到如果我更改了位置名称,它并没有在活动中更改它。保持文档同步是一件大事。
那么我该如何实现呢?
【问题讨论】: