列出OrderBy问题

abe*_*end 0 c# asp.net sql-order-by entity-framework-4 tolist

我想要自己处理gridview排序.我无法想出这个:

protected void gvPackages_Sorting(object sender, GridViewSortEventArgs e)
    {
    List<Package> pck = new List<Package>();
    pck = Session["Packages"] as List<Package>;

    var output = (from p in pck
                  orderby p.Department
                  select p);        <-line that breaks
    // var output = pck.OrderBy(x => x.Department).ToList(); <- I've also tried this
    gvPackages.DataSource = output;
    gvPackages.DataBind();
    }
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

至少有一个对象必须实现IComparable.

包是一个实体,所以我不明白我错过了什么.我在网上找到的其他例子反映了我上面的内容,以及它的各种迭代.我错过了什么?我还要说部门只是一个领域,作为一个测试来使它工作,它将在最终版本中更具活力.

编辑:再次感谢堆栈,我是一个很大的假人.

Man*_*rin 5

问题在于你试图在部门上订购,但部门类型不知道应该如何订购,因为你没有实现IComparable,这需要方法来指定顺序,例如Orderby Dept.Name或Dept.Location,Dept.Size,谁知道?