asp.net core 2.0 Entity Framework как получить доступ к профилю пользователя - PullRequest
0 голосов
/ 19 мая 2018

Я новичок в EF и пытаюсь использовать его с .net core 2.0.Возможно, я здесь не на том пути и буду признателен за любую помощь.Я создал новое веб-приложение в VS 2017, выбрав индивидуальную учетную запись пользователя.Сейчас я пытаюсь развить это дальше, добавив таблицу профилей пользователей для хранения различной информации.Проблема, с которой я столкнулся, заключается в том, что я читаю это как часть ApplicationUser.

Пока что я сделал следующее.

В ApplicationUser я создал -

public class ApplicationUser : IdentityUser
{
    public virtual ICollection<UserProfileData> ProfileData { get; set; }
}

Затем в таблице UserProfileData у меня -

public class UserProfileData
{
    public int  Id { get; set; }
    public string UserId { get; set; }
    public string Health { get; set; }
    public virtual ApplicationUser UserProfile { get; set; }
}

Является ли правильный способ объединения таблиц и как я могу получить доступ к полю работоспособности в контроллере учетных записей, представления «Редактировать» и «Создать»?

В настоящее время у меня есть это в методе Register.

var user = new ApplicationUser { UserName = model.Email, Email = model.Email 
            ,test_img ,Health = model.Health};  //I know this is wrong.

Любая помощь будет полезна, даже если просто сказать, что я поступаю неправильно.

Надеюсь, это было ясно.

Спасибо

1 Ответ

0 голосов
/ 19 мая 2018

Вы можете просто расширить ApplicationUser любыми данными, которые вы хотите сохранить для профиля пользователя.

public class ApplicationUser : IdentityUser
{
    public string Health { get; set; }

    public string Status { get; set; }
}

Прямо сейчас в вашем коде вы создали отношение один ко многим, что означаетпользователь может иметь несколько профилей (что, вероятно, не то, что вы хотите).

Я предлагаю прочитать эту статью и, в частности, эту , чтобы узнать больше об отношениях EF.

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