{ "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)
機能しませんでした
この問題を解決するにはどうすればよいですか?