Thanks Noel and Grant,
I looked at the Execution plan and it was identical.
I still wonder why would Microsoft's EF engine create queries like this and is there any memory related performance issues for the subquery or any benefit with these approaches.
I had seen really complicated queries generated by EF for simple SUM/Average functions. It is just not clear why they do that. But still they is very negligible performance difference.
Thanks,
Nachi