Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Azure DocumentDB,使用LINQ在字典中搜索_C#_Linq_Azure_Azure Cosmosdb_Nosql - Fatal编程技术网

C# Azure DocumentDB,使用LINQ在字典中搜索

C# Azure DocumentDB,使用LINQ在字典中搜索,c#,linq,azure,azure-cosmosdb,nosql,C#,Linq,Azure,Azure Cosmosdb,Nosql,嗨,我在使用时遇到一个错误 query = query.Where(r => r.Features.ContainsValue(fuelType)); 这是我的模型 public class VehicleResponse { [JsonProperty(PropertyName = "id")] public string Id { get; set; } public Vehicle Veh

嗨,我在使用时遇到一个错误

query = query.Where(r => r.Features.ContainsValue(fuelType)); 
这是我的模型

public class VehicleResponse 
        {
            [JsonProperty(PropertyName = "id")]
            public string Id { get; set; }

            public Vehicle Vehicle { get; set; }

            public List<string> PhotoUrls { get; set; }

            public string VideoUrl { get; set; }

            public Dictionary<string, string> Features { get; set; }

            public List<string> Equipments { get; set; }

            public VehicleResponse()
            {
                this.PhotoUrls = new List<string>();
            }
        }
公共级车辆响应
{
[JsonProperty(PropertyName=“id”)]
公共字符串Id{get;set;}
公共车辆{get;set;}
公共列表地址{get;set;}
公共字符串VideoUrl{get;set;}
公共字典功能{get;set;}
公共列表设备{get;set;}
公共车辆响应()
{
this.PhotoUrls=新列表();
}
}
DocumentDB不支持“ContainsValue”方法。那么我应该如何更改我的LINQ查询呢


谢谢。

如果您这样定义功能:

  "Features": {
    "TKey": "TK1",
    "TValue": "TV1"
  }
您可以将其更改为: query=query.Where(r=>r.Features[“TKey”]。包含(“T”)


您可以阅读以获取更多信息。

如果您这样定义功能:

  "Features": {
    "TKey": "TK1",
    "TValue": "TV1"
  }
您可以将其更改为: query=query.Where(r=>r.Features[“TKey”]。包含(“T”)


您可以阅读以获取更多信息。

谢谢,它起作用了!顺便问一下,你知道如何对列表执行相同的操作吗?它类似于数组,你可以直接使用Contains,比如
Where(f=>f.devices.Contains(“E”))
列表中的Contains不是一个干净的结果,我只是将列表项附加到原始字符串中,更好的结果。给我看看你的JSON文档,看看它是否有效!顺便说一句,你知道如何对列表执行相同的操作吗?它类似于数组,你可以直接使用Contains,比如
Where(f=>f.devices.Contains(“E”))
列表中的Contains并不是一个干净的结果,我只是将列表项附加到原始字符串中,效果更好。给我看一下你的JSON文档