2011-01-25 4 views
0

Linq Присоединиться к примерам, которые я видел, иллюстрирует горячие ti Присоединиться при создании анонимного типа. Как сделать заявление Join in a ForEach.Linq - Как выполнить регистрацию в заявлении ForEach?

например.

foreach (item i in MyContext.SomeEntity.Include("NavigationProperty1").Include("NavigationProperty2").Join(MyContext.SomeEntity2 on id == id) 
{ 
} 

Спасибо!

+1

В чем проблема/проблема? – leppie

+0

Вопрос заключается, например, в синтаксисе для следующего псевдокода: .Join (MyContext.SomeEntity2 на id == id) –

ответ

1

Ну, вы пытаетесь скомпоновать синтаксис запросов, просто используя методы расширения непосредственно здесь - это не сработает для начала.

Но результатом объединения является последовательность пар, эффективно - пары, которые имеют некоторое свойство. Неясно, откуда взялся «предмет» - как вы хотите, чтобы каждая пара с SomeEntity и SomeEntity2 была преобразована в item?

Ваш звонок может закончить тем, что что-то вроде:

...Join(MyContext.SomeEntity2, x => x.id, y => y.id, (x, y) => !!!) 

где !!! - это проекция от пары объектов к одному полезному значению.

См. part 19 of my Edulinq blog series для получения дополнительной информации о том, как работает метод Join.