2016-07-15 11 views
0

既にデータベースがあり、ASP.Net Identity 2.0を使用する必要があります。だから私は、次のようでした:ASP.Net Identity 2.0の名前を変更するテーブル:データベースが作成されてからコンテキストが変更された

は、IDテーブルのSQLスクリプトを取得します。

  • デフォルトの接続
の下に作成されますスクリプトデータベース、そして、認証個々のユーザーアカウントで
  • をMVCプロジェクトを作成します。

    • Inser:

      その後、私は私の既存のDBとそれをintergrated SQL Serverの既存のデータベースにスクリプトテーブルを作成します Management Studio。

    マイ・アイデンティティ・データベースを生成した後、DB First用のEFマイグレーションを使用して、テーブル「ASPNetUsers」に必要な列を追加しました。

    • 私は、私は私が私のDBにAsp.Identityテーブルを持って、その結果、web.configファイル

    で2つの接続文字列を持っている今、データベースの最初のアプローチ

  • を使用して、新しいMVCプロジェクトを作成しました私のアプリケーションにはERモデルがあります。

    その後、私は新しいプロパティを追加しました:アドオンの移行とアップデート - データベース:

    public class ApplicationUser : IdentityUser 
    { 
        public string Name { get; set; } 
    
        public virtual Region Region { get; set; } 
    } 
    

    各プロパティを追加した後、私は、移行コマンドを実行します。

    次に、追加された列を新しいユーザーとして登録しようとしましたが、すべての入力が正常に行われています。アプリを実行しているし、それは私に次のエラー与え、新しいユーザーを作成しようとしたとき

    protected override void OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder) 
        { 
         base.OnModelCreating(modelBuilder); 
         modelBuilder.Entity<ApplicationUser>().ToTable("Account"); 
    
        } 
    

    しかし、私はテーブルの名前を変更する必要があるので、私は流暢APIを使用しました

    enter image description here

  • +0

    アドインの移行を実行したと更新 - 流暢な名前を変更した後のデータベース? – devzero

    +0

    これがこの問題を解決する正しい方法であるかどうかはわかりません。 dbのバックアップを取った後に一度それを試してください。 _migrationhistoryのような名前のテーブルを探し、その内容を削除します。 –

    答えて

    0

    まだモデルを更新していないようです。

    1. 有効-移行

    2. アドオンの移行:あなたはコードファーストを使用している場合 パッケージマネージャコンソールでこれらのコマンドを実行し、基本的

      http://www.asp.net/mvc/overview/getting-started/getting-started-with-ef-using-mvc/migrations-and-deployment-with-the-entity-framework-in-an-asp-net-mvc-application

      に与えられた指示に従ってください。 InitialCreate

    3. 更新データベース

    あなたは、あなたが実行すべき最初の移行後に変更を行う必要がある場合:

    1. アドオンの移行を

    2. 更新データベース

    関連する問題