LINQ - Does .Cast<T>() Select Records?
I've noticed that certain command cause LINQtoSQL to connect to the database and download the records that are part of the query, for example, .ToArray().

Does the command .Cast<T>() cause a query to execute (and how can I tell these things in the future?). For example...

    IRevision<T> current = context.GetTable(typeof(T))
        .Cast<IRevision<T>>()
        .SingleOrDefault(o => o.ID == recordId);

I know there is a command for .GetTable that allows you to specify a generic type, but for strange and unexplainable reasons, it cannot be used in this situation.
LINQ - Does .Cast<T>() Select Records?
===

I've noticed that certain command cause LINQtoSQL to connect to the database and download the records that are part of the query, for example, .ToArray().

Does the command .Cast<T>() cause a query to execute (and how can I tell these things in the future?). For example...

    IRevision<T> current = context.GetTable(typeof(T))
        .Cast<IRevision<T>>()
        .SingleOrDefault(o => o.ID == recordId);

I know there is a command for .GetTable that allows you to specify a generic type, but for strange and unexplainable reasons, it cannot be used in this situation.