2014-10-22 69 views
0

以下行不起作用,因为distinct()不提供有序输出。LINQ中的orderby()和distinct()

var context= new BatchEntities();//Entity model 
var practices = (from p in context.EMSCAN_BATCH orderby p.PRACTICE select p.PRACTICE).Distinct(); 

尝试这样做:

var practices = (from p in context.EMSCAN_BATCH 
          select p.PRACTICE).Distinct().OrderBy(x=>x.PRACTICE); 

这给了错误的字符串不包含定义 '实践' .... 也试过这样:

var practices =(from p in context.EMSCAN_BATCH 
       select new 
       { 
        p.PRACTICE 
       }).Distinct().OrderBy(x=>x.PRACTICE); 

这给了错误的输出。

回答

1

只需卸下PRACTICEOrderBy

var practices = (from p in context.EMSCAN_BATCH 
       select p.PRACTICE).Distinct().OrderBy(x => x); 
0

或者你也可以做这样的事情:

var practices = context.EMSCAN_BATCH.SELECT(m => m.PRACTICE).Distinct().OrderBy(m => m.PRACTICE);