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

Я учусь ASP.NET Core, и у меня возникают проблемы со следующим сценарием:

Я создал класс расширения для IdentityUser, предоставляемый Microsoft.AspNetCore.Identity, класс расширения добавляет дополнительное поле в базу данных по умолчанию AspNetUsers:

public class ApplicationUser : IdentityUser
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public DateTime BirthDate { get; set; }
    public string LockoutMessage { get; set; }
    public string SessionId { get; set; }
}

Мне удалось обновить структуру таблицы, выполнив следующие команды:

add-migration <migration name> -context <app context>
update-database

Задача

Предположим, теперь я использовал программное обеспечение Microsoft SQL Server Management Studio для создания еще одной таблицы с именем UserDetails, которая имеет FK идентификатор таблицы AspNetUsers.

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

Я пытался: update-database но не похоже на работу.

1 Ответ

0 голосов
/ 12 сентября 2018

Единственный способ получить материал из базы данных - это Scaffold-DbContext.Тем не менее, это все или ничего.Он собирается создавать классы сущностей для каждой таблицы в базе данных (независимо от того, существуют ли они) и a DbContext для загрузки.

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

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

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