私はグリッドに列があります。グリッド列ヘッダーが選択されたとき、x行を返すように選択されたヘッダーでサーバーにajax/ajaxをポストします。Entity Frameworkコレクションのソートを実行するために汎用Funcが必要
次のコードでは、RefNoは整数で、ProposalSectionNumberは文字列です。
文字列を取りますが、linq文で使用するFuncを返す汎用関数を作成するにはどうすればよいですか?
if (sort.dir == SortDirection.Asc)
{
switch (sort.field)
{
case "RefNo":
qry = qry.OrderBy(x => x.RefNo);
break;
case "ProposalSectionNumber":
qry = qry.OrderBy(x => x.ProposalSectionNumber);
break;
}
}
else
{
switch (sort.field)
{
case "RefNo":
qry = qry.OrderByDescending(x => x.RefNo);
break;
case "ProposalSectionNumber":
qry = qry.OrderByDescending(x => x.ProposalSectionNumber);
break;
}
}
私は、文字列またはに基づいて返す関数SortFuncを(作成苦戦している 文字列はsortOrder = "REFNO" するvar sortfunc = SortFunc(はsortOrder)
if (sort.dir == SortDirection.Asc)
{
qry = qry.OrderBy(sortFunc)
}
else
{
qry = qry.OrderByDesc(sortFunc)
}
ような何かをしたいと思います整数)
これを達成する最も良い方法は何ですか?
はSystem.Linqのを使用してください。動的ナゲットパッケージでは、プロパティ名を文字列として並べ替えることができます。 – Mant101