Нет, вы не можете. По крайней мере, в том смысле, что EF автоматически заполняет для вас коллекцию ключей при загрузке объекта из памяти (как в случае со свойствами внешнего ключа).
Но у вас есть два альтернативных варианта:
Вы можете создать свойство только для чтения:
public ICollection<MyObject> myObj {get;set;}
public IEnumerable<int> myObjIds
{
get { return myObj.Select(o => o.Id); }
}
Для этого необходимо, чтобы вы уже загрузили коллекцию myObj
или использовали отложенную загрузку.
Второй способ - явно загружать идентификаторы, когда они вам нужны:
IEnumerable<int> myObjIds = context.Parents
.Where(p => p.Id == 1)
.Select(p => p.myObj.Select(o => o.Id))
.Single();