2
{   "BiImagePrefix": "bi",   "GrImagePrefix": "gr",   "FrameCount": 479,   "RollUid": null,   "Location": null,   "FrameList": [],  
> "Index": {
>     "DocumentType": "OFFICIAL RECORDS",
>     "RollNumber": "2865",
>     "RollTitle": ""   },   
>"IndexList": [
>>    {
>>>       "FrameNumber": 2,
>       "Index": {
>         "$type": "System.Dynamic.ExpandoObject, System.Core",
>         "Name": "2865",
>         "Title": "",
>         "Range": "2801-2900"
>       }
>     },
>>>     {
>>       "FrameNumber": 3,
      "Index": {
        "$type": "System.Dynamic.ExpandoObject, System.Core",
        "Name": "2865343",
        "Title": "",
        "Range": "233801-2943400"
      }
    }

  ]  }

次のインデックスを作成

>     docs.Rolls
>     .SelectMany(roll => roll
>     .Select(token => new {__document_id = roll["@metadata"]["@id"], Name = token.Key,     Value = token.Value, Query = new
> {roll.Index.DocumentType,  roll.IndexList[0].FrameNumber,
> roll.IndexList[0].Index.Name}))
>     .Select(x => new {__document_id = x.__document_id, Name = x.Name, Value = x.Value, Query = x.Query})

投影されたフィールドは

 1  __document_id   (Stored)
 2  Name    (Stored)
 3  Value     (Analyzed, Stored)
 4 Query    (Stored)

投影されたフィールド「クエリ」内のフィールドは、次のように参照すると正常に機能します。

Query = new {roll.Index.DocumentType,  roll.IndexList[0].FrameNumber, roll.IndexList[0].Index.Name}

IndexList [0]は、最初の配列要素のすべてのフィールドのみを投影します。「IndexList」配列内のすべての要素(つまり、すべてのFrameNumber)を投影したかったのですが、どのように指定すればよいですか。

このように「IndexList」内にあるプロパティ「FrameNumber」の1つを試しましたが、roll.IndexList.Select(x=>x.FrameNumber)機能しませんでした

この問題を解決するにはどうすればよいですか?

4

0 に答える 0