Well, when I wrote this post, I thougt that this code doesn't compile, but I was wrong, my other code didn't. The SQL generated for this query is:
SELECT [DB].[dbo].[Customer].[CustomerNumber], [DB].[dbo].[Customer].[CustomerId] AS [Id], [DB].[dbo].[Customer].[PersonId] FROM [DB].[dbo].[Customer]
It doesn't have any of the prefetch information that I specified and of course the Customer.Person property gets a null value.