Saeed_m_Farid
شنبه 12 اسفند 1391, 12:42 عصر
با سلام
میخواستم بدونم دوستان راهی برای OrderBy کردن کوئری در LINQ بصورت پارامتری (رشته) سراغ دارند؟ کاری که من الان انجام میدم و بنظرم نامطمئن میاد، اینه:
public List<Regions> GetRegions(string sorting = "", bool ascending = false)
{
IEnumerable<Regions> query = _db.Regions;
var field = typeof(Regions).GetProperty(sorting);
if (string.IsNullOrEmpty(sorting))
{
query = query.OrderBy(r => r.Name);
}
else if (ascending)
query = query.OrderBy(r => field.GetValue(r, null));
else
query = query.OrderByDescending(r => field.GetValue(r, null));
return query.ToList();
}
میخواستم بدونم دوستان راهی برای OrderBy کردن کوئری در LINQ بصورت پارامتری (رشته) سراغ دارند؟ کاری که من الان انجام میدم و بنظرم نامطمئن میاد، اینه:
public List<Regions> GetRegions(string sorting = "", bool ascending = false)
{
IEnumerable<Regions> query = _db.Regions;
var field = typeof(Regions).GetProperty(sorting);
if (string.IsNullOrEmpty(sorting))
{
query = query.OrderBy(r => r.Name);
}
else if (ascending)
query = query.OrderBy(r => field.GetValue(r, null));
else
query = query.OrderByDescending(r => field.GetValue(r, null));
return query.ToList();
}