調整為如下即可,請參考。
var Option1=Subject.FindInstances("Options").Cast<dynamic>().First(x => 1==x.Edition);`
Option1.Options=(
from dynamic option in (dynamic[])Option1.Options
orderby option.Value
select option).ToArray();
如下為原本的問題內容
//-------------------------------------------------
正在嘗試自己練習MVC的View,在實作以下時有碰到問題--
假設我從資料庫撈出條件為Edition=1
的Options
var Option1=Subject.FindInstances("Options").Cast<dynamic>().First(x => 1==x.Edition);
我嘗試使用以下方式排序(.OrderBy
),程式撰寫但不正確:var Option1=(Subject.FindInstances("Options").Cast<dynamic>().First(x => 1==x.Edition)).Options.OrderBy(y => y.Index);
先找出資料再另外排序,程式撰寫不正確:var NewOption1 = Option1.Options.OrderBy(x => x.Index);
先排序再找出資料,執行會報錯:var Options=Subject.FindInstances("Options").Cast<dynamic>().OrderBy(x => (x.Options)?.Options.Index).First(x => 1==x.Edition);
資料長的是這樣:
請問如何在找出資料時就依照條件(x.Index
)排好順序呢?
應該要先OrderBy吧,
你都取First了還要排序什麼?
錯誤訊息