4

以下のコードを使用して、標準の ApplicationUser オブジェクトにいくつかのフィールドを追加するのに苦労しています。移行が正常に実行され、データベース スキームがデータベースの新しいフィールドで更新されていることがわかります。http://go.microsoft.com/fwlink/?LinkID=317594のチュートリアルに従いました

public class ApplicationUser : User
{

    public string LegacyPassword { get; set; }
    public DateTime DateCreated { get; set; }
    public bool Activated { get; set; }

}

私が経験する問題は、次のような登録を実行しようとしたときです。

 var u = new Test.Models.ApplicationUser() { UserName = userName, DateCreated = System.DateTime.Now, PassHash = "" };
            IdentityResult result = manager.Users.CreateLocalUser(u, Password.Text);

CreateLocalUser() を実行すると、次のエラーが発生します...:

タイプ 'System.InvalidOperationException' の例外が mscorlib.dll で発生しましたが、ユーザー コードで処理されませんでした

追加情報: EntityType 'Test.Models.ApplicationUser' のマッピングおよびメタデータ情報が見つかりませんでした。

移行を約 5/6 回再作成して、新しいプロジェクトも開始しましたが、このエラーを回避できません。

何か案は?

4

2 に答える 2

0

VS2013 リリースのバージョンを使用している場合は、次のように変更します。

public class ApplicationUser : User

public class ApplicationUser : IdentityUser

于 2013-10-20T08:22:02.583 に答える
0

このエラーは、Visual Studio 2013 の RC バージョンで生成されたプロジェクトで発生します。

プロジェクトの nuget パッケージ フォルダーに移動すると、EntityFramework を含むそれらの多くが RC バージョンであることがわかります。

すべての nuget パッケージを最新のリリース バージョンに更新すると、問題が解決します。(いくつかのコード変更が必要になることに注意してください)。

編集:インストールMicrosoft.AspNet.Identity.EntityFrameworkも必要でした。

于 2013-11-27T17:49:49.877 に答える