ApplicationUserからIdentityUserへの暗黙的な参照変換はありません。

asp.net-identity c# entity-framework-6 entity-framework-core generics

質問

ジェネリックスを使用するいくつかのASP.NET IDコアクラスをカスタマイズしようとしています。

私のApplicationUserクラス:

public class ApplicationUser : IdentityUser<Guid>//, ApplicationUserClaim, ApplicationRole, ApplicationUserLogin> 
{
    public ApplicationUser() {  }
}

私のApplicationUserStoreクラス:

public class ApplicationUserStore : UserStore<ApplicationUser, ApplicationRole, ApplicationDbContext, Guid> 
{
    public ApplicationUserStore(ApplicationDbContext ctx, IdentityErrorDescriber describer = null) : base(ctx, describer)
    {

    }
}

エラーメッセージ:

'AspDotNetCoreFullFramework.Identity。 Microsoft.AspNetCore.Identity.EntityFrameworkCore.UserStore`8 [TUser、TRole、TContext、TKey、TUserClaim、TUserRole、TUserLogin、TUserToken]のApplicationUser 1[System.Guid]', on が型パラメータ' TUser 'の制約に違反しています

今、私がUserStore(Baseクラス)の.NET実装に行くとき:

TKey、IdentityUserRole <TKey>、IdentityUserLogin <TKey>、IdentityUserToken <TKey>、および<TKey>は、TKey、TKey、TContext、TKey、
ここで、TUser:IdentityUser <TKey>
... TKey:IEquatable <TKey> {

私は、ApplicationUserがIdentityUser <GUID>から継承していることがわかります。この制約が満たされます。 TKeyは、IEquatable <GUID>を実装するGUIDです。この制約も満たされます。

それで問題は何ですか?

受け入れられた回答

GUIDを追加する

IdentityBuilder.AddEntityFrameworkStores<ApplicationDbContext,Guid>();

このポストで述べたように問題を解決しました。



Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow