Недавно я разработал обработчик для DataTable for MVC
, но у меня возникла проблема.По какой-то причине, когда я сортирую свои данные для извлечения с моего сервера MySql, он каждый раз выдает мне дубликаты одних и тех же людей.
Я подумал, что это странно, что это будут случайные люди или все, но это не так.Я сузил проблему до этой части своего кода, но я пробовал несколько вещей, и я не могу понять, почему.
Я сделал прямолинейное движение sort
, и это сработало просто отлично.Я могу только заключить, что это как-то связано с моей машиной, потому что я не помню, чтобы эта проблема была на другой.Если кто-нибудь может мне помочь и понять, почему он это делает, я был бы благодарен.
Expression<Func<T, object>> sortExpression = null;
if(lambda.Lambda == null)
{
var param = Expression.Parameter(typeof(T), "item");
sortExpression = Expression.Lambda<Func<T, object>>(
Expression.Property(param, lambda.ColumnName), param);
//Expression.Convert(Expression.Property(param, lambda.ColumnName), typeof(object)), param);
}
if(order == null) {
if(lambda.IsDescending)
{
if (sortExpression != null)
order = results.OrderByDescending(sortExpression.Compile());
else
order = results.OrderByDescending(lambda.Lambda);
}
else
{
if (sortExpression != null)
order = results.OrderBy(sortExpression.Compile());
else
order = results.OrderBy(lambda.Lambda);
}
}
else
{
if (lambda.IsDescending)
{
if (sortExpression != null)
order = order.ThenByDescending(sortExpression.Compile());
else
order = order.ThenByDescending(lambda.Lambda);
}
else
{
if (sortExpression != null)
order = order.ThenBy(sortExpression.Compile());
else
order = order.ThenBy(lambda.Lambda);
}
}
}