0

設定

ASP.NET Identity 2.0 を使用するアプリがあります。ID 部分は、アプリケーションが必要とする残りのテーブルとデータベースを共有します。したがって、あるクラス ライブラリにはビジネス データのデータベースにアクセスする dbcontext があり、別のクラス ライブラリには IdentityModel.cs、つまり ApplicationDBContext があります。

問題:

ビジネス データ コンテキストを使用して移行を処理する方法を理解しようとして混乱するまでは、すべてうまくいきました。最終的に __MigrationHistory テーブルを削除したため、両方のコンテキストのデータベース内のすべてのモデル メタデータが削除されました。

次のエラーが表示されます。

データベースにモデル メタデータが含まれていないため、モデルの互換性を確認できません。モデルの互換性は、Code First または Code First Migrations を使用して作成されたデータベースに対してのみ確認できます。

ビジネス データに関連するすべての移行を削除し、そのプロジェクトの移行を再度有効にしました。これは、ビジネス dbcontext のモデル メタデータを再作成する効果がありました。

ただし、Identity メタデータで同じことを達成する方法がわかりません。

質問:

ASP.NET Identity 2.0 の __MigrationHistory でモデル メタデータを再作成するにはどうすればよいですか?

4

2 に答える 2

0

データベースを再作成して、最初からやり直す必要がありました。Neel の答えが実稼働データベースにとって正しいものであるかどうかわからないという点で、私はまだ暗闇の中にいます。現在、問題の解決策を見つけるために AspNet.Identity を適切に調査する時間がありません。ごめん。

治療前の予防:

私が知っていることは、 __ MigrationHistory テーブルを削除していなければ問題は発生しないということです。したがって、問題は自傷行為の 1 つであり、治療よりも予防​​が最善の選択肢です。

したがって、物語の教訓は次のとおりです。

道徳の:

__MigrationHistory テーブルは絶対に削除しないでください。非常にばかげた、無謀な、車のない、まったくばかげたことをする前に、それについてもう少し学んでください。

于 2014-05-23T08:37:30.867 に答える