I understand that in French prepositions cannot be directly translated from English and you have to learn them carefully.
I also understand that prepositions differ depending on the specific case, such as:
- au lit, dans mon lit
- en ville, dans une petit ville
- en France, à Paris
What I don't understand is why we cannot use 'en' in the following case:
Déjeunez-vous à la cantine ou à la maison ?
If it's possible to say
Préférez-vous vivre en ville ?
why is it not possible to say Déjeunez-vous en cantine or Déjeunez-vous en maison?
I'm assuming it may have something to do with the fact that 'ville' is kind of abstract so you use 'en' here. But maison is your house, and it is local, which leads to usage of 'à'. However why is it not possible to use 'en' for 'cantine'? Is it because the canteen/cateferia where you eat is also quite specific, not general or abstract, and therefore there is only one and it is local, much like your house?
What if you wanted to ask whether someone eats at cafeterias/canteens in a general sense, not the specific one at the office or school? In that case would à la cantine be correct?
Any light that anyone can shed on this would be greatly appreciated!