Until last version, EDM didn’t allow to choose EntitySets visibility (so public) neither EntityTypes and limited the EntityType properties get and set to public or private.
Since VS 2008 SP1 Beta, we can choose EntitySets visibility between private, protected, internal and public. It’s the same for EntityType properties. For EntityTypes, we can now choose class visibility between public and internal.
We can just regret that we can’t (yet) modify ObjectContext visibility and constructor visibility. (For EntityTypes, there is no constructor in generated code, so you can choose visibility using partial class).