Как добавить таблицы в существующий контекст EF Core 3.0 с помощью консоли PM? - PullRequest
0 голосов
/ 07 февраля 2020

Мне нужно добавить новые таблицы в мои dbContext. Можно ли сделать это через консоль управления пакетами?

Для ясности, это моя команда для скаффолда:

PM> `Scaffold-DbContext "Server=dbServer;Database=myAppDb;User Id=UserAppdb;
Password=MyPass;" Microsoft.EntityFrameworkCore.SqlServer -o Models -t Users, Devices, 
Items -context "AppdbContext"`

Ответы [ 3 ]

0 голосов
/ 07 февраля 2020

ты был близко! Вы должны указать -t для каждой таблицы, поэтому в вашем случае это будет:

`Scaffold-DbContext "Server=dbServer;Database=myAppDb;User Id=UserAppdb; Password=MyPass;" Microsoft.EntityFrameworkCore.SqlServer -o Models -t Users -t Devices -t Items -context "AppdbContext"`
0 голосов
/ 07 февраля 2020

Entity Framework Core рекомендует вам использовать подход, основанный на коде, и переходы (как указано в комментариях к вашему вопросу). Подход с использованием базы данных в действительности не поддерживается, но вы можете обойти его:

Я бы предложил повторно выполнить команду scaffolding в новом решении, а затем скопировать новые классы, которые представляют новые таблиц к вашему исходному решению (вам, возможно, придется адаптировать их пространства имен). Если ваши новые таблицы имеют связи с любыми ранее существовавшими таблицами, вам придется также адаптировать их соответствующие классы, добавив свойства навигации. Затем вы должны добавить DbSet для каждого вновь добавленного класса в вашем DbContext. Затем вам нужно изменить метод OnModelCreating () в вашем DbContext (возможно, вы просто скопируете содержимое только что сгенерированного.

Как правило, вам следует рассмотреть возможность применения подхода, основанного на коде, в будущем, особенно если вы Вы хотите отправить свое приложение клиентам. С помощью code-first вы никогда не изменяете базу данных напрямую, а только изменяете свой код, добавляя классы и регистрируя их в своем DbContext.

0 голосов
/ 07 февраля 2020

PM> get-help scaffold-dbcontext –detailed

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...