Щоб додати тут інші відповіді, якщо ви хочете створити новий об’єкт третього іншого типу з пунктом «де» (наприклад, той, який не є об’єктом 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;
}
Зверніть особливу увагу на проміжний об’єкт, який створений у пунктах Де та Вибрати.
Зауважте, що тут ми також шукаємо будь-які об'єднані об'єкти, які мають властивість1, яка відповідає одній із вхідних списку.
Я знаю, що це трохи складніше, ніж те, що шукав оригінальний запитувач, але, сподіваюся, це комусь допоможе.