سلام دوست عزیز،
در مثالی که خودتون نوشتین وقتی که به آخر عبارت ToArray اضافه میکنید، خروجی رو به هر تعداد که باشه، به شکل آرایه میده بیرون، آرایه ای که هر کدام از خانه هاش شامل نوع خروجی تعربف شده شما در بخش select هست.
پس وقتی که شما میخوایین از این آرایه استفاده کنید، هر ایندکس آن شامل (a.FirstName, a.LastName, a.DateBorn, a.CityBorn, a.StartTech, a.LevelLicense, a.QuestionTexts) هست.
اما در مورد حلقه بعد از آن کاملا اشتباه هستش و من اصلا دلیل این کار شما رو نفهمیدم!!!!!!!!
اگر منظور شما برگرداندن بیش از یک رکورد با این روش هستش، پشنهاد میکنم از مفهوم listها استفاده کنید. که هم راحتر هست و هم اصولیتر و هم دستتون باهاش بازتره....!
اما در مثال بالا با توجه به سناریوی که خودتون تعرف کردین، چون آیدی طرف انتخاب شده و بر اساس اون جستجو میشه ، اگر ساختار دیتابیستون درست باشه، اصولا نباید بیش از یک رکورد برگردانه که برای اون هم یا آرایه ای به تعداد فیلد های که برمیگردانید در نظر به گیرید و با حلقه Foreach اطلاعات داخل "var query" رو خونده و به هر کدام از خانه های آرایه بدهید!!!! ولی باز هم اگه بخواهید اصولیتر پیش برین پیشنهاده بنده استفاده از کلاس هستش که برای اطلاعات دانش آموز طراحی بشه و خروجی عبارت رو با استفاده از کلاس به لایه بالاتر برگردونید...
انشاله که کمکتون بکنه...
موفق باشید...