Размещение созданных объектов EF в каталоге, отличном от контекста

Вопрос. Есть ли способ заставить dotnet ef dbcontext scaffold не только поместить файл контекста в другой каталог, но и включить в этот файл пространство имен объектов?

Я использую dotnet ef dbcontext scaffold для создания контекста EF и связанных объектов из базы данных. Структура базы данных обрабатывается отдельно, поэтому потребуется периодическая перегенерация сущностей и контекста.

Я использую это, которое отлично работает:

dotnet ef dbcontext scaffold `
    "Server=localhost;Database=My.Db;Trusted_Connection=True;" `
    Microsoft.EntityFrameworkCore.SqlServer `
    --startup-project My.EfCliStartupProject\My.EfCliStartupProject.csproj `
    --force `
    --project My.Orm\My.Orm.csproj `
    --context MyContext `
    --schema MY_SCHEMA `
    --output-dir Entities

Я хотел бы иметь возможность поднять контекст на один уровень выше, добавив --context-dir .. К сожалению, в верхней части файла контекста нет оператора using, ссылающегося на пространство имен объектов.

Эта команда находится в быстром сценарии PowerShell для этого, который также очищает каталог объектов, поэтому было бы невозможно добавить в этот сценарий некоторый код, чтобы добавить оператор using, но это не идеально.

Я использую EF CLI 3.0.0. Попытка установить более поздние версии приводит к ошибке: error NU1202: Package dotnet-ef 3.1.2 is not compatible with netcoreapp3.0.

Существует старый вопрос для Scaffold-DbContext с набором ответов, но это не так. ясно, если ожидается, что оператор using будет отсутствовать или нет.

Спасибо!


person Don 01001100    schedule 20.03.2020    source источник


Ответы (1)


Эта функция была включена в версию 3.1 инструмента, поэтому я полагаю, что у вас возникла эта проблема в версии 3.0.0.

https://github.com/dotnet/efcore/pull/18405

person Louis    schedule 15.11.2020