Какой самый простой способ закодировать свойство в С#, когда у меня есть имя свойства в виде строки? Например, я хочу разрешить пользователю заказывать некоторые результаты поиска по своему выбору (используя LINQ). Они сами выбирают свойство "порядок по" в пользовательском интерфейсе - как строковое значение. Есть ли способ использовать эту строку непосредственно как свойство запроса linq, без необходимости использовать условную логику (if/else, switch) для сопоставления строк свойствам. Отражение?
Логически, это то, что я хотел бы сделать:
query = query.OrderBy(x => x."ProductId");
Обновление: Я не изначально указывал, что я использую Linq для Entities - кажется, что отражение (по крайней мере, метод GetProperty, GetValue) не переводится в L2E.