私のアプリでASP.NET IDを使用するとエラーが発生しました。タイプごとに複数のオブジェクトセット はサポートされていません。オブジェクトセット 'ApplicationRoles'と 'Roles'には、両方ともタイプ 'XXX.Identity.ApplicationRole'のインスタンスが含まれます。ASP.NET ID - 種類ごとに複数のオブジェクトセット
このエラーについては、stackoverflowでいくつか確認しました。すべて同じ型の2つのDbSetオブジェクト上にあることを示します。しかし、私のDbContextには、同じタイプのDbSetsはありません。私は自動移行を有効にしたいときにスローで
例外は
私のコンテキストは、そのようになりますがあるかもしれないあなたのIdentityDbContextで
public class XXXDbContext :
IdentityDbContext<ApplicationUser, ApplicationRole, int, ApplicationUserLogin, ApplicationUserRole, ApplicationUserClaim>
{
public override IDbSet<ApplicationUser> Users { get; set; }
public DbSet<ApplicationUserLogin> ApplicationUserLogins { get; set; }
public DbSet<ApplicationUserRole> ApplicationUserRoles { get; set; }
public DbSet<ApplicationUserClaim> AppApplicationUserClaims { get; set;
public DbSet<ApplicationRole> ApplicationRoles { get; set; }
public DbSet<ApplicationAction> ApplicationActions { get; set; }
public DbSet<ApplicationActionRole> ApplicationActionRoles { get; set; }
}
はあなたが同じテーブルにバインドされた2つのエンティティを持っているか、次のように、データベース内の独自のテーブルに識別クラスを指し、必要に応じて機能を拡張することができますか?例えばApplicationUserRoleとApplicationRole – Yaser
IdentityDBContextで使用されるデフォルトのテーブルをオーバーライドしようとしていますか? – Mike
はい私はそれらを無効にしたい – MohammadMahdi