Я посмотрел вверх и вниз, попробовал все различные и различные способы хранения внешнего ключа таблицы AspNetUser в отдельной таблице Customer. Я все еще новичок в ASP.NET и Entity Framework, но я прочитал немало сообщений и документации.
В настоящее время это то, что у меня есть
Модели
public class Customer
{
[Display (Name="Customer ID")]
public int CustomerID { get; set; }
public string UserId { get; set; }
[ForeignKey("UserId")]
public virtual ApplicationUser ApplicationUser { get; set; }
}
public class ApplicationUser : IdentityUser
{
public virtual Customer Customer { get; set; }
}
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public DbSet<Customer> Customers { get; set; }
public ApplicationDbContext()
: base("DefaultConnection")
{
}
}
Я получаю эту ошибку, цитирую
Невозможно определить главный конец ассоциации между типами TestApplication.Models.Customer 'и' TestApplication.Models.ApplicationUser '. Основной конец этой ассоциации должен быть явно сконфигурирован с использованием либо свободного API API, либо аннотаций данных.
Я также попробовал этот метод person, найденный здесь: Основной конец этой ассоциации должен быть явно сконфигурирован с использованием свободно распространяемого API или аннотаций данных
Итак, я прокомментировал аннотации ForeignKey и использовал предложение человека, используя подход "modelBuilder". И когда я обновил свою базу данных, "Id" из таблицы AspNetUsers был в таблице Customers (это хорошо), но CustomerID как ForeignKey также был в таблице AspNetUsers, чего я не хочу.
Я хочу, чтобы идентификатор AspNetUsers находился в таблице Customers как ForeignKey.