Могу ли я помочь с преобразованием внутренних соединений в sql в linq? - PullRequest
0 голосов
/ 31 мая 2011

Я хочу использовать цепочку linq.У меня возникли некоторые проблемы с синтаксисом.

select * from APPLES
inner join BANANAS on APPLES.id = BANANAS.someid

У меня есть:

var result = workspace.GetDataSource<APPLE>().Join(.......)

, но я не уверен, что входит в бит Join.Может ли кто-нибудь помочь мне?

1 Ответ

4 голосов
/ 31 мая 2011

Как насчет:

var result = from a in workspace.GetDataSource<APPLE>()
             from b in workspace.GetDataSource<BANANAS>()
             where a.id == b.someid
             select a;

или если вы хотите использовать объединенную нотацию:

var result = from a in workspace.GetDataSource<APPLE>()
             join b in workspace.GetDataSource<BANANAS>()
             on a.id equals b.someid
             select a;

Обратите внимание, что вы можете изменить выбор a на проекцию необходимых вам элементов из обеих таблиц.

Не так хорошо знаком с этим форматом, но было бы что-то вроде этого:

var result = workspace.GetDataSource<APPLE>().Join(workspace.GetDataSource<BANANAS>(),a=>a.id, b=>b.someid,(a,b) => a);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...