web-dev-qa-db-ja.com

Asp.Net Identity DataBaseの最初のアプローチの使用

Asp.Netの最新のMVCバージョンを、テーブルString Addressに追加の列dbo.AspNetUsersを持つ既存データベースと統合する必要があります

プロパティAddressを持つインスタンスApplicationUserを作成する必要があります。

それを行う方法はありますか?

55
GibboK

私のために働く可能性のある解決策は、基本的にAsp.Net Identity User Profilesを既存のデータベースと統合することができます。

Asp.Identityテーブルの取得:

  • 認証個人ユーザーアカウントでMVCプロジェクトを作成する
  • Web.configのDefaultConnectionの下にリストされているDBを開きます。呼び出されます(aspnet- [timestamp]またはそのようなもの。)
  • SQL Server Management Studio(mdcのデータベースを接続)を使用してデータベーステーブルのスクリプトを作成します。

または、 http://identity.codeplex.com/ のようなものを使用します

既存のデータベースとの統合:

  • スクリプト化されたテーブルをSQL Server Management Studioの既存のデータベースに挿入します。
  • 関係をカスタマイズしてApplicationUserに追加します(必要な場合)。
  • 新しいWebプロジェクトを作成> MVC> DB First Project> EFでDBをインポート...
  • IdentityModels.csでApplicationDbContext:base( "DefaltConnection")を変更して、プロジェクトのDbContextを使用します。

これで、アプリケーションのERモデルを使用したdbにAsp.Identity Tablesが作成されました。

Asp.Identity Profile新しいプロパティの追加:

  • Entity Framework Code First Database Migrationsを有効にします。VSの[ツール] [パッケージマネージャーコンソール]で、
  • コマンド「Enable-Migrations」を実行します。データベースの移行を有効にしたら、UserProfileの新しいプロパティを追加できます

  • 新しいプロパティを追加するには、IdentityModels.csファイルを変更します。例:


public class ApplicationUser : IdentityUser
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string EmailID { get; set; }
}

新しい移行を追加

  • プロパティを追加したら、パッケージマネージャーコンソールを表示して、次のコマンドを実行します。

    Add-Migration“ YouMigrationName”

このコマンドはデータベーススクリプトファイルを生成します。次のコマンドを実行して、このスクリプトファイルをデータベースに対して実行します。

Update-Database

これで、すべての新しいプロパティが同じデータベーステーブルのテーブルフィールドに変わります。

他の人にも役立つことを願っています。もっと良いアイデアがあれば教えてください。

56
GibboK

Database Firstを介してIdentity Framework 2.0を使用して既存のデータベースを統合することに成功しました。私はその上にブログ投稿を書きました here ASP.NET MVC 5、Identity Framework 2.0、およびVisual Studio 2013 Update 2 RTMのSPAテンプレートを使用します。

私が自分で考えなければならなかった1つの場所にリストされていないいくつかのポイントが含まれているので、これが彼らの旅の誰にも役立つことを願っています。

22
Daniel Eagle

GitHubでこれらのプロジェクトをご覧ください。

含まれるもの:

  • ASP.NET Identity 2.0のSQLデータベースプロジェクトテンプレート
  • Entity Framework Database-Firstプロバイダー
  • ソースコードとサンプル

enter image description here

20