Я пытаюсь создать отношения один к одному, используя С# в Entity Framework 6, используя ASP.NET MVC 5 со встроенной аутентификацией пользователя.
Я могу создавать таблицы и соединения со значениями по умолчанию, создаваемыми Entity Framework. Но когда я пытаюсь использовать свободный API... более конкретно, когда я использую для создания модели даже пустую мою миграцию базы данных с помощью консоли диспетчера пакетов, не удастся. Как я могу сопоставить отношения друг с другом?
Моя ошибка:
//error
//my.Models.IdentityUserLogin: : EntityType 'IdentityUserLogin' has no key defined. //Define the key for this EntityType.
//my.Models.IdentityUserRole: : EntityType 'IdentityUserRole' has no key defined. //Define the key for this EntityType.
//IdentityUserLogins: EntityType: EntitySet 'IdentityUserLogins' is based on type //'IdentityUserLogin' that has no keys defined.
//IdentityUserRoles: EntityType: EntitySet 'IdentityUserRoles' is based on type //'IdentityUserRole' that has no keys defined.
Мой код:
namespace my.Models
{
public class ApplicationUser : IdentityUser
{
}
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("DefaultConnection")
{
}
public DbSet<EngineeringProject> EngineeringProjects { get; set; }
public DbSet<EngineeringProject> EngineeringDesigns { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Configurations.Add(new EngineeringDesignMap());
modelBuilder.Configurations.Add(new EngineeringProjectMap());
}
}
}
namespace my.Models.Mapping
{
public class EngineeringProjectMap : EntityTypeConfiguration<EngineeringProject>
{
public EngineeringProjectMap()
{
this.HasRequired(t => t.EngineeringPd)
.WithOptional(t => t.EngineeringProject);
this.HasRequired(t => t.EngineeringProjectCategory)
.WithMany(t => t.EngineeringProjects)
.HasForeignKey(d => d.CategoryId);
}
}
}