I think you have created a classic ORM transition from database, but you are still using the guiding principles of a database ERD design to create your Entities. During a database design you usually normalize the database primiarily for effective storage and denormalize if you want faster retrieval/query.
I think you have used your guideline for highly normalized design for effective storage, but I would say, ORM should be primarily about access and retrieval to data instead of storage (especially storage disk space comes cheap today)...
Flatten your design that helps faster easy retrieval and expressiveness of your SQL (Hopefully LinQ to SQL) rather than storage and you would be surprised how simple your entities are...
Hope that helps, if not ask again...
{ Gaja; }
http://www.gajakannan.com/netarch.aspx