Не удается исправить ошибку «IdentityUserLogin <string>требуется первичный ключ» - PullRequest
3 голосов
/ 07 июля 2019

Итак, у меня есть два контекста, и я использую mycontext, но я продолжаю получать ошибки, даже когда mycontext наследуется от IdentityDbcontext.Я пробовал различные исправления, которые нашел здесь, но ни одно из них не сработало

Я использовал ApplicationUser в качестве значения по умолчанию при запуске.Но безрезультатно

[My-context] `

public partial class MyContext : IdentityDbContext
    {
        public HMyContext()
        {
        }

        public HRMSDbContext(DbContextOptions<MyContext> options)
            : base(options)
        {
        }`
[Startup]
`services.AddDbContext<MyContext>(options =>
                options.UseSqlServer(
                    Configuration.GetConnectionString("DefaultConnection")));
            services.AddDefaultIdentity<IdentityUser>()
                .AddEntityFrameworkStores<MyContext>();

'

An unhandled exception occurred while processing the request.

InvalidOperationException: Тип сущности' IdentityUserLogin 'требует определения первичного ключа,Microsoft.EntityFrameworkCore.Infrastructure.ModelValidator.ValidateNonNullPrimaryKeys (модель IModel) ...

1 Ответ

0 голосов
/ 07 июля 2019

Насколько я вижу, вы должны передавать опции базовому конструктору так:

    public MyContext()
    {
    }

необходимо передать опции базовому конструктору следующим образом.

    public MyContext(DbContextOptions<MyContext> options)
        : base(options)
    {
    }
...