Aby dodać do innych odpowiedzi tutaj, jeśli chcesz utworzyć nowy obiekt trzeciego innego typu z klauzulą where (np. Taki, który nie jest twoim obiektem Entity Framework), możesz to zrobić:
public IEnumerable<ThirdNonEntityClass> demoMethod(IEnumerable<int> property1Values)
{
using(var entityFrameworkObjectContext = new EntityFrameworkObjectContext )
{
var result = entityFrameworkObjectContext.SomeClass
.Join(entityFrameworkObjectContext.SomeOtherClass,
sc => sc.property1,
soc => soc.property2,
(sc, soc) => new {sc, soc})
.Where(s => propertyValues.Any(pvals => pvals == es.sc.property1)
.Select(s => new ThirdNonEntityClass
{
dataValue1 = s.sc.dataValueA,
dataValue2 = s.soc.dataValueB
})
.ToList();
}
return result;
}
Zwróć szczególną uwagę na obiekt pośredni, który jest tworzony w klauzulach Where i Select.
Zauważ, że tutaj szukamy również wszelkich połączonych obiektów, które mają właściwość1, która pasuje do jednego z tych na liście danych wejściowych.
Wiem, że jest to nieco bardziej skomplikowane niż to, czego szukał pierwotny pytający, ale mam nadzieję, że to komuś pomoże.