Я использую 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
.
Чего мне не хватает?