Wow...this is a tough one! My 7 year olds always ADORE Legoland as they are
Lego-maniacs also. This park is exactly right for 7 year olds and it would be a shame for your son to miss it if at all possible.
I am not sure you need the entire day, but you WILL need more than a couple of hours. Just looking a Miniland will take at least an hour for a real Lego builder.
If you could leave first thing in the morning and be there before they opened, and skipped the little kiddie rides, I think you could do it in 5 hours and be satisfied you had seen most everything. My sons loved the Driving School, the Motorboat Cruise, Knights Tournament, the Driving School, Dragon rollercoaster, the water shooting thing (cant remember what its called!), the Driving School, the build a lego car to race thing, the boat tour of the lake,the tour of the Lego factory to see where they are made and I loved the Fairytale ride. The Driving School is cool to my little boys as the cars are not on a track like Autopia. They are on these little miniature streets with stop signs and traffic lights and they just think they are the coolest thing to get to drive like a real adult. Also, up in the Castle area, there is a place that sells Granny Smith Fries that are to DIE for. They take apples and cut them into french fries, dip in cinnamon batter and deep fry them, served with vanilla cream dipping sauce. I tell ya, I would go there just to get an order of those! The food is generally pretty good there.
Things you could skip would be the safari, the animals are cool but its not very exciting ride, the firetruck thing unless you have another adult with you, the dumbo knockoff ride, the knight ride where you ride around on the horse, and anything else that looks too little kid.
That all being said, I am not sure I would give up a day at Disney to go. If you went on a day Disney was open late, left early enough to get to Legoland when it opened, stayed 5 hours and then came back to Disney you could still have dinner and the evening at Disney. Its a tough call though.