Hello I am creating a windows application that will be installed in 10 computers that will access the same database thru Entity Framework.

I was wondering what's better:

1. Spread the queries into packets (i.e. load contact then attach the included navigation properties - [DataContext.Contacts.Include("Phone"]).
2. Load everything in one query rather then splitting it out in individual queries.
3. You name it.

BTW I have a query that its trace string produced over 500 lines of sql, im doubting, maybe i should waive user-exprience for performance since performance is also a part of u.e.