Чтобы добавить сюда другие ответы, если вы хотите создать новый объект третьего отличного типа с предложением where (например, тот, который не является вашим объектом Entity Framework), вы можете сделать это:
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;
}
Обратите особое внимание на промежуточный объект, который создается в предложениях Where и Select.
Обратите внимание, что здесь мы также ищем любые присоединенные объекты, которые имеют свойство1, совпадающее с одним из объектов в списке ввода.
Я знаю, что это немного сложнее, чем искал первоначальный аскер, но, надеюсь, это кому-нибудь поможет.