設計時にIDbContextFactoryを使用してDbContextの初期化をオーバーライドすることを検討してください

asp.net-core asp.net-identity-3 c# entity-framework-core

質問

ASP.NET Core 1.0.1プロジェクトで、Entity Framework CoreとASP.NET Identityを使用して、私は次のコンテキストを持っています:

public class Context : IdentityDbContext<User, Role, Int32, UserClaim, UserRole, UserLogin, RoleClaim, UserToken> { 
  public Context(DbContextOptions options) : base(options) { }
  protected override void OnModelCreating(ModelBuilder builder) {
   base.OnModelCreating(builder);
  }
}

そして次のエンティティ:

public class User : IdentityUser<Int32, UserClaim, UserRole, UserLogin> { }
public class Role : IdentityRole<Int32, UserRole, RoleClaim> { }
public class RoleClaim : IdentityRoleClaim<Int32> { }
public class UserClaim : IdentityUserClaim<Int32> { }
public class UserLogin : IdentityUserLogin<Int32> { }
public class UserRole : IdentityUserRole<Int32> { }
public class UserToken : IdentityUserToken<Int32> { }

スタートアップには以下のものがあります:

services.AddDbContext<Context>(x => x.UseSqlServer(connectionString, y => y.MigrationsHistoryTable("__Migrations")));

services
  .AddIdentity<User, Role>()
  .AddEntityFrameworkStores<Context, Int32>()
  .AddDefaultTokenProviders();

私がdotnet ef migrations add "FirstMigration"を実行dotnet ef migrations add "FirstMigration"dotnet ef migrations add "FirstMigration" 、次のエラーが表示されます。

スタートアップクラス 'WebProject.Startup'でメソッド 'ConfigureServices'を呼び出す際にエラーが発生しました。設計時にIDbContextFactoryを使用してDbContextの初期化をオーバーライドすることを検討してください。エラー: 'Microsoft.AspNetCore.Identity.EntityFrameworkCore.UserStore`4 [TUser、TRole、TContext、TKey]のGenericArguments [0]、' WebProject.User 'が' TUser 'タイプの制約に違反しています。

この問題を解決するには?

人気のある回答

私は部分的な回答を投稿することをお詫びしますが、多くの人にとって有益なことです...

起動クラスでメソッド 'ConfigureServices'を呼び出す際にエラーが発生しました

メソッドStartup.ConfigureServices(...)が呼び出されていて、例外をスローしています。実行している場合ので、例外はおそらく起こるdotnet efアプリケーションのエントリポイントがされていないProgram.Main()いつものように。

試す

    dotnet ef migrations add "FirstMigration" --verbose 

エラーメッセージが表示され、問題をよりよく理解できるようになります。



Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ