至少有一个对象必须在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;
        }

至少有一个对象必须在datasourceresult上实现icomparable

尝试删除这一行的OrderBy部分:

ListReturn.OrderBy(p => p.nameProveedor).OrderBy(s => s.id).ToList();

如果这在调试器中工作到那一点,您就知道下一步该去哪里了。我怀疑'nameProveedor'不是一个原语,因此LINQ没有办法执行使网格工作所需的比较。

相关文章:
  • 没有找到相关文章