Как сначала обновить модель из таблицы базы данных - PullRequest
0 голосов
/ 14 октября 2019

Я создаю context из базы данных с помощью команды, подобной этой:

Scaffold-DbContext "Server=myConnection;Database=myDatabase;Persist Security Info=False;TrustServerCertificate=False;User ID=myUser;Password=myPassword;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir MyContext -f

После этого я обновляю структуру имени одной таблицы MyTable1. Поэтому я пытаюсь повторно запустить команду с параметром -Tables, например:

Scaffold-DbContext "Server=myConnection;Database=myDatabase;Persist Security Info=False;TrustServerCertificate=False;User ID=myUser;Password=myPassword;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir MyContext -Tables MyTable1 -f

Я хочу обновить только MyTable1 и сохранить стабильную другую таблицу.

Но послевыполните эту команду, и вся таблица в файле Context будет удалена, и она останется MyTable1 на OnModelCreating.

Большое спасибо!

1 Ответ

1 голос
/ 14 октября 2019

Насколько я знаю и читал об EF Core, первый подход к базе данных поддерживается только для генерации context один раз. После создания context из существующей базы данных вы должны использовать миграции для модификации базы данных. Scaffold-DbContext будет заново создавать все context при каждом выполнении. ( Вот источник. )
Конечно, вы можете воссоздавать после каждой модификации базы данных новый context - как упомянуто в связанной статье, но я бы предложил использовать подход кода сначала,Вы можете лучше отслеживать все изменения в вашей базе данных, и это поможет вам и вашим коллегам работать над одним проектом одновременно.

Вот ссылка с дополнительной информацией о -Table switch . Он используется для определения того, какие таблицы включаются в context при генерации.

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

Параметр -Schemas в PMC и параметр --schema в CLI можно использовать для включения каждой таблицы в схему.

-Tables (PMC) и --table (CLI) могут использоваться для включения определенных таблиц.

...