至少有一个对象必须在datasourceresult上实现icomparable
本文关键字:datasourceresult 实现 icomparable 一个对象 | 更新日期: 2023-09-27 18:06:21
我正在删除以下代码,.ToList()方法工作得非常好,在最后一行抛出异常"至少有一个对象必须实现icomcomparable ":
var result = response.ToDataSourceResult(request);
这是怎么回事?
public DataSourceResult GetProveedores([System.Web.Http.ModelBinding.ModelBinder(typeof(WebApiDataSourceRequestModelBinder))]DataSourceRequest request,string group)
{
var domainContext = new PrincipalContext(ContextType.Domain);
var groupPrincipal = GroupPrincipal.FindByIdentity(domainContext, IdentityType.SamAccountName, group);
var listTmp = new List<Proveedores>();
List<Proveedores> ListReturn = new List<Proveedores>();
int count = 0;
foreach (var item in groupPrincipal.Members)
{
ListReturn.Add(new Proveedores { nameProveedor = item.SamAccountName, id=count, });
//ListReturn[count].nameProveedor.CompareTo(item.SamAccountName);
count++;
}
var response = ListReturn.OrderBy(p => p.nameProveedor).OrderBy(s => s.id).ToList();
var result = response.ToDataSourceResult(request);
return result;
}
尝试删除这一行的OrderBy部分:
ListReturn.OrderBy(p => p.nameProveedor).OrderBy(s => s.id).ToList();
如果这在调试器中工作到那一点,您就知道下一步该去哪里了。我怀疑'nameProveedor'不是一个原语,因此LINQ没有办法执行使网格工作所需的比较。