In general: Querying more than 1 layer is less performant than querying only 1 layer. You have to test how the performance is. If you have to query through all the layers, you have to. Only your end-user can say if he *really* needs it. Otherwise you should strip the functionality down to the things that are really needed. This makes the application behave smoother and also easier to understand. 😉