Вы можете использовать оператор Select
:
IList<MyEntity1> list = GetSomeList();
MyEntity1 result = list
.Select(x => new { Item = x, Entity2 = GetMyEntity2(x) })
.SingleOrDefault(x => x.Entity2 != null && x.Entity2.Id != null && x.Entity2.Id > 0);
Или, так как вы даже не используете Item
после проталкивания его через GetMyEntity2
, вы можете просто получить:
MyEntity1 result = list
.Select(x => GetMyEntity2(x))
.SingleOrDefault(x => x != null && x.Id != null && x.Id > 0);