Linq命令不工作

时间:2012-05-06 04:46:32

标签: c# .net linq linq-to-sql sql-order-by

我在这个问题上阅读了类似的问题和答案,并尝试了许多不同的方法来做到这一点,但没有成功。记录以随机顺序显示在数据网格中,而不是按姓氏排序。提前谢谢。

MyEntities theEntities = new MyEntities();

IEnumerable<NameTable> nameitems = (from myrow in theEntities.NameTable.AsEnumerable()
orderby myrow.NameID
select new NameTable
    {NameID = myrow.NameID,
    FirstName = myrow.FirstName,
    LastName = myrow.LastName});

ObservableCollection<NameTable> nameitemsOC = new ObservableCollection<NameTable>(nameitems);

return nameitemsOC;

3 个答案:

答案 0 :(得分:3)

这可能是因为你是按NameID而不是LastName订购的......试试这个:

orderby myrow.LastName

答案 1 :(得分:2)

我认为应该这样做

IEnumerable<NameTable> nameitems = (from myrow in theEntities.NameTable.AsEnumerable()
     orderby myrow.LastName
     select new NameTable { 
       NameID = myrow.NameID, 
       FirstName = myrow.FirstName, 
       LastName = myrow.LastName 
     });

答案 2 :(得分:2)

NameID而不是LastName排序。

theEntities.NameTable的类型是什么?也许您只需创建CollectionView,添加SortDescription并将其设为ItemsSource的{​​{1}}。

DataGrid