. Net Core 3.1 и проблемы с несколькими проектными базами данных - PullRequest
0 голосов
/ 28 апреля 2020

Я использую VisualStudio 2019 и. Net Core 3.1 и у меня есть загадка.

Мой проект стартовал пару месяцев go, и его форма изменилась. Он начинался как довольно простое веб-приложение, но в конце концов я выделил раздел «API» - API используется не приложением, а сторонним инструментом. Разделы app и api имеют идентичный Models и множество методов cotroller. У меня была мысль, что я должен "выделить" дублирующиеся вещи в "общую библиотеку или утилиту" проекта ".

Так что я хочу пометить Models, используемый в существующих проектах API и APP в проект ЖКХ. У меня есть команды скаффолдинга, одна из них:

Scaffold-DbContext -Connection "Server=db.myCompany.com;Initial Catalog=Personnel;Integrated Security=True" 
    -Context PersonnelContext -Tables "Persons" -Provider Microsoft.EntityFrameworkCore.SqlServer
    -OutputDir Models\Personnel

I go для консоли PackageManager и cd для папки проекта Utilities и запуска скаффолда выше. Создает Model в проекте одного брата APP. Visual Studio, должно быть, делает мне одолжение кэширования пути к скаффолдингу где-нибудь, и я хотел бы, чтобы он прекратился.

Я вспоминаю эту проблему, когда вырвал API из исходного кода APP. Я думаю, что я просто скопировал файлы модели из APP в API и изменил имена классов во всех файлах API \ Model. Это боль.

Вещи, которые я заметил при написании этого:

1) Если я изменю каркас на использование полного пути в предложении OutputDir, тогда будут созданы файлы модели. где я хочу, но они все еще создаются в пространстве имен APP:

Scaffold-DbContext -Connection "Server=db.myCompany.com;Initial Catalog=Personnel;Integrated Security=True" 
    -Context PersonnelContext -Tables "Persons" -Provider Microsoft.EntityFrameworkCore.SqlServer 
    -OutputDir 'H:\full\path\to\Utilities\Models\Personnel'

2), если в Visual Studio я установил для «Startup Project» значение Utilities, а затем запустил скаффолд подходит очень близко, но пространство имен просто Utilities, когда кажется, что оно должно быть похожим на Utilities.models. table_name.

Чего мне не хватает?

...