Вложенный класс в .NET в основном совпадает с классом на другом уровне пространства имен (допустим, внутренний класс может обращаться к закрытым частям внешнего класса, как отметил Ладислав Мрнка, - вы можете использовать внутренний вместо частногочтобы обойти это), нет никаких изменений в поведении (в отличие от Java), поэтому нет особого смысла в использовании вложенных классов.
Вы можете определить подобъекты, используя сложные свойства илиоднако, используя свойства навигации, сложные свойства имеют ограниченные возможности (без свойств навигации или ключей в них), и ни один из них не создается как вложенные классы.
Чтобы заставить EF использовать вложенные классы, вы можете попробовать создать классы самостоятельнозатем сопоставьте их либо с использованием подхода Code-First, либо отменив автоматическое создание класса и записав их самостоятельно (или изменив файл .tt на созданные классы, вложенные в него), а затем отредактировав .emdx как XML для сопоставления сущности сдругой класс.