This query could bring back 1000's of records, will the query execute
or crash?
This depends on many factors: Do you got enough ram? Do you get a NullReferenceException at Element 1001? Do you get a transaction timeout after 3 minutes(if working on DB)?
Simple answer is: You can work with even 100 Million records, if the envirement got the right conditions.
To answer the question a bit abroad(I guess you're working a query on a Database): I guess you're looking for a way to do this most efficent. If you need to update a million of records with a fixed value or a value depending on another value in line, use sth. like
update table set teachername = (select surname || ', ' || lastname from users where userid = table.teacherid);
and execute it via Context.Database.ExecuteSqlCommand("..")
. The database itself is faster by updating them simultanesly then a program unsing LinQ above that updates every single entry (1 per statement).
If you got complex operations and individual updates depending on user inputs or something, you perhaps need to do it i.e. via EF and LinQ queries.
Do tests (use Stopwatch), try everything and learn!