Краткое исправление:
var FirstChild = stockMovementItems.First();
, затем
ReturnCode = FirstChild.ReturnCode;
//etc...
или
(from s in stockMovementCtx.spStockMovementForTransaction(TicketID, ItemTypeNo, ItemID, TransactionType, FromLocation, ToLocation, Qty, PersonelNo, cuser) select s).ToList();
, но последнее является своего рода злоупотреблением Linq.
Более длинный ответ: независимо от того, каким является stockMovementCtx.spStockMovementForTransaction (..), он поддерживает только чтение вперед.Таким образом, когда вы вызываете First (), вы переходите к следующему результату и не можете вернуться назад.