日期:2014-05-20  浏览次数:20650 次

纠结的排序。。
现在有这样一个问题
C# code

 var con=from c in T_Contion
         select new { c.Name,c.Sex,Age=GetAge(c.ID)}   


GetAge 是现在日期-出生日期得到的
然后我想排序, 根据Age排序,怎么排序不了呢? 怎么排 高手赐教

------解决方案--------------------
你是 LINQ2EF?

var con=T_Contion.ToList().Select(c=>new{ c.Name,c.Sex,Age=GetAge(c.ID)}).OrderBy(c => c.Age);
 
------解决方案--------------------
探讨
你是 LINQ2EF?

var con=T_Contion.ToList().Select(c=>new{ c.Name,c.Sex,Age=GetAge(c.ID)}).OrderBy(c => c.Age);

------解决方案--------------------
不过lz貌似没有筛选,也一样,呵呵。

总之lz搞清楚 Linq To SQL 因为是被转化为 SQL 执行的,所以内部使用的函数有限制,GetAge() 这个函数是你自己写的,没有办法转换成 SQL 内置的函数。

而 Linq To Object 没有这个限制。所以用 ToList() 让查询立刻执行。