Посмотрите на динамическую библиотеку Linq:
https://www.nuget.org/packages/System.Linq.Dynamic.Library/
У меня есть проект, где я возвращал список отдельных значений из указанного столбца следующим образом:
public static List<string> GetValuesFromDB(string column)
{
GradInfoEntities db = new GradInfoEntities();
//if i pass the column name in it doesn't work
//i suspect that if i pass as param, it gets quoted coz i'm passing in the value, not the column
var temp = db.Grads.Where(string.Format("{0} != null", column)).Select(column);
List<string> result = temp.Cast<string>().ToList();
return result;
}
Dyamanic Linq Library добавляет перегрузки для где и выбрать (и несколько других, но я использовал только эти два), которые позволяют вам указать, какие столбцы вы хотите выбрать с помощью переданной переменной.
Я отрезала из сортировки и отчетливый звонок, но в основном я возвращающая список строк всех значений, которые не нулевые из принятого в колонке
Edit: Я только что проверил и там не первый(), но есть Take(), и любой()
Хорошее начало :) Полный код здесь http://stackoverflow.com/a/31667061/1019435 –