EF OrderBy方法不适用于连接

时间:2010-06-18 15:19:16

标签: entity-framework

以下作品(按名称排序):
    from t in context.Table1.OrderBy( "it.Name" ) select t

这不起作用(没有订购):
    from t in context.Table1.OrderBy( "it.Name" )
join t2 in context.Table2 on t.SomeId equals t2.SomeId select t

这也不是(试图引用父表来订购):
    from t in context.Table1
join t2 in context.Table2.OrderBy( "it.Table1.Name" ) on t.SomeId equals t2.SomeId select t

这也不是(试图在儿童桌上订购):
    from t in context.Table1
join t2 in context.Table2.OrderBy( "it.ChildName" ) on t.SomeId equals t2.SomeId select t

如何在加入时不要忽略OrderBy?

3 个答案:

答案 0 :(得分:1)

这将有效:

(from t in context.Table1
 join t2 in context.Table2 on t.SomeId equals t2.SomeId 
 select t).OrderBy( "it.Name" );

但是,你不应该使用join,因为@moi_meme评论。

答案 1 :(得分:0)

您可以尝试在加入后尝试订购,而不是在之前/期间。

from t in context.Table1
join t2 in context.Table2 
on t.SomeId equals t2.SomeId 
orderby t.Name
select t

答案 2 :(得分:0)

对于您的第二个示例,请尝试:

var res = from t in context.Table1
          join t2 in context.Table2 on t.SomeId equals t2.SomeId 
          orderby t.Name
          select t;

这应该订购联合结果。