ASP.NET Identity - Как отобразить отношения один-к-одному или ноль?
Как я могу сопоставить следующие отношения, используя Entity Framework Code First?
Отношение - Автор является основным, а ApplicationUser является зависимым:
ApplicationUser является производным классом от IdentityUser. Авторы могут быть созданы в первую очередь, чем пользователи, поэтому они являются главными в отношениях. Каждый пользователь должен быть связан с автором, но автор может быть связан без ApplicationUser. Я пытался сделать это с помощью свободного API и аннотаций, но я не могу сказать, что первичный ключ ApplicationUser - это внешний ключ для Author. Большое спасибо!
Модели:
public class Author
{
[Key]
public string AuthorId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
public List<string> AditionalEmails { get; set; }
public virtual ICollection<PublicationData> Publication { get; set; }
//User is optional.
public virtual ApplicationUser User { get; set; }
}
public partial class ApplicationUser : IdentityUser
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string Affiliation { get; set; }
public string Position { get; set; }
public DateTime CreatedOn { get; set; }
public bool Deleted { get; set; }
public int CountryCode { get; set; }
public virtual Country Country { get; set; }
public virtual ICollection<PublicationData> Publications { get; set; }
public virtual ICollection<Request> Requests { get; set; }
//Author is required
public virtual Author Author { get; set; }
}