To make the pastry, combine the flour and salt into a large mixing bowl. Add the butter and rub into the flour until the mixture resembles breadcrumbs. Sprinkle with 2 tbsp of cold water and mix with a fork or knife. With your hands, gather together handling as little as possible. Wrap the pastry in cling film and chill for 20 minutes before rolling out.
In a frying pan, heat the olive oil over medium heat. Add the onions and mushrooms and cook until the mushrooms have lost most of their liquid. Add the asparagus halfway through, cooking until just tender, but not too soft. Remove from heat.
Meanwhile, whisk together the eggs, milk and salt and pepper to season. Stir in the Cheddar.
Preheat the oven to 190 C /Gas 5 and put a baking tray in to heat.
Roll out the pastry to about 3mm on a floured work surface and use to line a 23cm diameter tin. Prick the base with a fork, then chill in the fridge for 10 minutes. Spread the vegetables over the pastry, then pour over the cheesy egg mixture. Finally, sprinkle with Parmesan cheese.
Place the tin on the hot baking tray and bake for 30 minutes or until the filling is lightly set and golden. Serve warm.
Parmesan cheese is not truly vegetarian, as it contains animal rennet. To make this dish 100% vegetarian, omit the cheese or find a suitable vegetarian substitute made without animal rennet. In supermarkets look for the 'parmesan style hard cheeses' which are suitable for vegetarians.