EF OrderBy метод не работает с объединениями - PullRequest
0 голосов
/ 18 июня 2010

Следующие работы (упорядочены по имени):
from t in context.Table1.OrderBy( "it.Name" ) select t

Это не работает (без упорядочивания):
from t in context.Table1.OrderBy( "it.Name" )<br> join t2 in context.Table2 on t.SomeId equals t2.SomeId select t

И не делает этого (пытаетсячтобы сослаться на родительскую таблицу к порядку):
from t in context.Table1<br> join t2 in context.Table2.OrderBy( "it.Table1.Name" ) on t.SomeId equals t2.SomeId select t

И этого не происходит (попытка упорядочить по дочерней таблице):
from t in context.Table1<br> join t2 in context.Table2.OrderBy( "it.ChildName" ) on t.SomeId equals t2.SomeId select t

Как вызватьПорядок, чтобы вас не игнорировали при присоединении?

Ответы [ 3 ]

1 голос
/ 19 июня 2010

Это будет работать:

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

Однако вы не должны использовать join вообще, как комментирует @moi_meme.

0 голосов
/ 18 июня 2010

Для второго примера попробуйте:

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

Это должно упорядочить объединенные результаты.

0 голосов
/ 18 июня 2010

Вы можете попробовать оформить заказ после объединения, а не до / во время.

from t in context.Table1
join t2 in context.Table2 
on t.SomeId equals t2.SomeId 
orderby t.Name
select t
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...