Почему бы не использовать код сначала ? По сути, это то, что сначала делает код; он проверяет типы POCO CLR, которые есть в вашем проекте, и по соглашению создает соответствующие концептуальные / хранилища / отображения. Вы также можете настроить эти соглашения с помощью API свободного кода.
Когда вы сначала раскручиваете код DbContext, вы также можете получить к полученному EDMX на основе XML (если он вам действительно нужен) из него метод WriteEdmx () .
Если вы не хотите, чтобы Code First автоматически генерировал базу данных, вы можете отключить этот 'initializer' .