【发布时间】:2018-12-17 10:24:09
【问题描述】:
在我的项目中,我想为某些类添加继承并将生成的对象保存到 Cosmos DB 数据库中的文档集合中。要保存有关类型的信息,我在 JSON.net 中使用此首选项:https://www.newtonsoft.com/json/help/html/SerializeTypeNameHandling.htm
但是,如何在不使用 LINQ 以类型安全的方式检索所有文档的情况下按类型查询集合。最好的方法是向那些名为 Type 的类添加一个属性,其中包含 JSON 对象的“$type”属性的信息。然后我可以这样查询:
return Client.CreateDocumentQuery<TEntity>(DocumentCollectionUri).Where(entity => entity.Type == typeof(Car).ToString());
此 LINQ 查询将被转换为 SQL,然后发送到服务器。我只取回那些汽车类型的物品。这将是最佳选择,这样的事情是否可能且快速?
【问题讨论】:
标签: c# azure azure-cosmosdb document-database