ASP.Net Core API: как связать идентификатор пользователя с контактом - PullRequest
0 голосов
/ 14 апреля 2019

Я работаю над приложением, использующим преимущества таблиц удостоверений пользователей / ролей ASP.Net Core в SQL.

Из-за характера приложения, которое я сейчас создаю, о государственной регистрации не может быть и речи. То, что я собираюсь построить, потребовало бы, чтобы администратор приложения сначала добавил нового сотрудника в качестве контакта в приложение. После сохранения информации о контакте они нажимали кнопку, чтобы установить этот контакт в качестве пользователя.

Каким будет ваш рекомендуемый подход для расширения структуры идентификации или связывания AspNetUsers с моей таблицей контактов для достижения этой цели. Я уверен, что я буду часто запрашивать информацию с обеих сторон этой установки, и это моя основная причина, чтобы задать этот вопрос.

Ваша помощь очень ценится. Пожалуйста, дайте мне знать, если я могу предоставить дополнительную информацию.

public class ApplicationUser : IdentityUser
{
    public virtual ICollection<Contact> Contacts { get; set; }
}
public class Contact
{
    [Key]
    public int Id { get; set; }
    public string IdentityUser { get; set; }
    [ForeignKey("IdentityUser")]
    public virtual ICollection<ApplicationUser> AppUser { get; set; }
}

1 Ответ

1 голос
/ 14 апреля 2019

A Contact может существовать без User, но User не может существовать без Contact. Простые отношения один-к-одному:

public class User : IdentityUser<int>
{
    int ContactId { get; set; }
    Contact Contact { get; set; }
}

public class Contact
{
    int? UserId { get; set; }
    User User { get; set; }
}
...