gpt4 book ai didi

c# - RavenDB 建模 1 到多个文档

转载 作者:行者123 更新时间:2023-11-30 17:15:50 24 4
gpt4 key购买 nike

以这个示例模型为例:

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)

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

那么我该如何实现呢?

最佳答案

菲尔,

  • 在 Activity 中有一个字符串 LocationId 属性,这将允许您查询它们。
  • 将事件作为集合存储在 Location 中可能会更容易(因此它们不是单独的文档,而是嵌入在其中)。

关于c# - RavenDB 建模 1 到多个文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7738500/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com