Genericsを使用するASP.NET IDコアクラスをカスタマイズしようとしています。ApplicationUserからIdentityUserへの暗黙的な参照変換はありません
マイ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)
{
}
}
エラーメッセージは次のとおりです。
「AspDotNetC oreFullFramework.Identity。 ApplicationUser
1[System.Guid]', on
Microsoft.AspNetCore.Identity.EntityFrameworkCore.UserStore`8 [TUSER、TRole、TContext、処理鍵、TUserClaim、TUserRole、TUserLogin、TUserToken]」 は、型パラメータの制約に違反 'TUSER'
今、私はUSERSTORE(基底クラス)の.NET実装に行くとき:
パブリッククラスUSERSTORE < TUSER、TRole、TContext、TKEY >: USERSTORE < TUSER、TRole、TC ontext、TKEY、 IdentityUserClaim <処理鍵>、IdentityUserRole <処理鍵>、 IdentityUserLogin <処理鍵>、IdentityUserToken <処理鍵> > TUSER
:IdentityUser <処理鍵>
... 処理鍵:IEquatable <処理鍵> {
ApplicationUserがIdentityUser <GUID>から継承していることがわかります。 この制約が満たされています。 TKeyは、IEquatable <GUID>を実装するGUIDです。 この制約も満たされます。
だから問題は何ですか?このpostで述べたよう
IdentityBuilder.AddEntityFrameworkStores<ApplicationDbContext,Guid>();
にGUIDを追加
この問題に関して私に参照を指摘してください。 – Legends
アイデンティティに関しては正確に何をしようとしていますか?もう少し詳しく説明できますか?これは他の人があなたに別のアプローチです。 – MethodMan
私は、ASP.NET Identity APIを将来のプロジェクトのテンプレートとして利用できるように、できるだけカスタマイズ可能なものとして実装したいだけです。 後で、私は多くの探検の努力なしに、それを見ることができます。 – Legends