4

Asp.Net Identity 1.0 (RTM バージョン) を使用します。デフォルトの実装では、AspNetUsers テーブルが作成されます。Id 列の型は nvarchar(128) です。

データベースとテーブルを作成するときに、ユーザー ID のタイプを nvarchar(128) ではなく uniqueidentifier に変更したいだけです。OnModelCreating オーバーライド内で .HasColumnType("uniqueidentifier") を使用してこれを試みましたが、エラーがスローされます。

マイクロソフトはそれが簡単だと言っています...しかし、私は反対する傾向があります...

http://www.asp.net/identity/overview/getting-started/introduction-to-aspnet-identity

データベース スキーマを制御するため、テーブル名の変更や主キーのデータ型の変更などの一般的なタスクを簡単に実行できます。

したがって、非常に簡潔で完全に非技術的なドキュメントによると、これは主キーのデータ型を変更する一般的なタスクのようです...しかし、それについて簡単なことはないようです。助けてください。

4

2 に答える 2

2

ASP.NET チームの Hao Kung は、独自の を実装する必要があることをStackOverflowIUserStoreに投稿しましたが、1.1 バージョンで簡単に実装できるように取り組んでいます。

を実装するだけでなく、に制限されているため、独自の実装IUserStoreが必要なようです。UserStoreUserStore<TUser>IdentityUser

私が正しければ、これは少なくともIUserStoreIUserPasswordStoreIUserSecurityStampStoreおよび を実装する必要があることを意味しますIUserLoginStore

それは 14 のメソッドですが、それらのほとんどは実装するのが非常に簡単です。これは を完全に置き換えるものではないことに注意してください。既定のテンプレートからUserStore<TUser>使用されるパーツをサポートするために必要なものだけです。AccountController

私はこれを自分で試したGitHubのプロジェクトを持っています。つまり、永続化のために EntityFramework の代わりに MongoDb を使用する UserStore を実装しました。

于 2013-11-11T19:24:16.843 に答える