2012-10-21 43 views
-1
只有当列不为空

请让我知道我怎么可以在LINQ中使用排序依据,只有当一个特定的列使用不null lambda表达式:排序依据在LINQ使用lambda

var list= // result returned from sql stored proc 

list.orderby(s=>s.empid!=null).select(p=>p) //something like this 

是否有可能包括在列表上执行orderby的条件?

+7

当你从不接受答案时,人们不太可能回答你的问题。 –

+1

如果你对方法名称有适当的大小写,那么它可能会工作......你在期待什么? –

+0

jeff我知道方法list.orderby(S => s.empid!= null)即orderby是错误的,请参阅我的意见ie“类似这样的事情” – shiv455

回答

1
var list = _context.Products 
         .Where(p => p.EmpId != null) 
         .OrderBy(p => p.EmpId) 
         .Select(p => p) 
+0

最后的'Select'调用似乎没有必要。你能告诉我你为什么使用它吗? –

+0

根据我的回答,我认为他使用'.Select()'投射到新类型(没有属性)。 – chridam