azure-cosmosdb - EF Core 5.0 和 CosmosDB - 嵌套列表属性部分填充
问题描述
经过一周的努力让我的应用后端使用 EF Core 50+CosmosDB 作为数据存储来启动后,我遇到了一个非常烦人的问题。我有一个 OuterType 类型的 DTO,它有一个名为 SomeList 的 IList 类型的属性。OuterType 文档保存在专用容器中,并映射到 DbContext 上称为 OuterContainer 的专用 DbSet 属性。它也没有配置 OwnsMany(o => o.SomeList)。在数据存储中,表示 OuterType 实例的文档包含带有 14 个元素的 SomeList 集合。这些实例的每个属性都填充了与其类型值相对应的值。有一个 long 类型的 Id 属性,并且在每个实例中都正确地表示为 Id(而不是 id)。另外还有Guid、DateTime、自定义Enum等原始类型的字段,共6个属性。
dbContext.OuterContainer.Where(s => s.SomeProperty == f.SomeFilterValue).ToList();
我得到的结果不多,也不少于 SomeList 属性中的 4 个元素。这是一致的行为,在 14 个元素中总是返回相同的 4 个元素。最奇怪的是,返回的是索引 0、1、2 和 4!不是 3,也不是 14,而是 4!
知道这种非常奇怪的行为可能是什么原因吗?
解决方案
推荐阅读
- kubernetes - 如何在 Istio-Ingressgateway 的受信任 CA 列表中添加 CA 根?
- python - Pandas 有没有办法分割多个日期时间值?
- javascript - 如何根据 3 个选择下拉列表的值过滤 React 状态?
- java - 在gmail api get message中,如何在获取当前消息时防止获取上一个消息链?
- python - 使用聚合的散景更新源
- python - 如何在不立即执行的情况下通过函数调用传递 kwargs
- masstransit - 发送端点是否等待消费者完成?
- python - 如何修复“无效值”、“除以零”等计算错误
- r - 在 R 中闪亮加载页面一段固定的时间
- rabbitmq - rabbitmq中的vhost没有启动