2016-04-27 7 views
0

私はmvc.netを使ってWebアプリケーションを開発するためにまずコードを使用しています。 私は私が私の最初のコントローラエラー:mvc.netコードで何も変更していないのに、DataContextが変更されました。

これとは別に
   UserId = User.Identity.GetUserId(), 
       NewUserId = Genrate.GenrateUserId(), 
       NewUserIdWithString = "Unspecified" 

にこのフィールドを使用し、この

public class ApplicationUser : IdentityUser 
{ 
    public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager) 
    { 
     // Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType 
     var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie); 
     // Add custom user claims here 
     return userIdentity; 
    } 
    public string ScreenName { get; set; } 

    public string UserType { get; set; } 
} 

ようIdentityUserに二つのフィールドを追加して、すべてのアプリケーションが正常に動作しますが、私はこの事を追加した後に知りません何も動作せず、datacontextが変更されている、別の問題が存在する可能性があります/ sです。

答えて

0

あなたは次の2行追加することで、データベースモデルを変更:データベースは、もは​​やあなたのコードとアプリケーションのクラッシュと一致していないん

public string ScreenName { get; set; } 
public string UserType { get; set; } 

を。

しかしながら、上記の2つの新しいフィールドを含むように前記データベースを更新することは非常に容易である。 Package Managerコンソール(デフォルトのレイアウトでVSの下部)に移動し、 add-migrationと入力します。コンソールに、移行の名前を入力するように求められます。あなたはEnable-Migrations最初

にデータベースを入力する必要がありますあなたがこれを行う最初の時間は、それがどんな存在するデータを削除し、デフォルト値を追加していないことを、あなたの新しいスキーマ(音符に更新します名前と次のタイプupdate-database に記入

+0

私はマイグレーションを更新しましたが、それがあれば動作しません。私は移行フォルダを削除しません。移行フォルダを削除すると、アプリケーションが動作します。 – Nil

+0

あなたはデータベースを更新するのを忘れませんでしたか?また、データベース内のユーザーテーブルを表示する場合は、2つの追加フィールドが表示されますか? migrationsフォルダは通常どんな問題も引き起こしてはいけません...新しいエラーが出ていますか?おそらくデータベースを更新するときに "許可なし"のように? – counterflux

+0

さて、今度は問題はないと思います。必要なときにいくつかのフィールドを更新してみて、もう一度やり直してみてください、ありがとうございます! – Nil

0

あなたはMigrationsフォルダを削除したと言いますが、それはできません。

マイグレーションは比較で機能し、最後のマイグレーションとの比較を行います。最後のマイグレーションがない場合は、新しいマイグレーションは空になります。モデルを

  1. コメント;:それを解決するために

    は、次の手順を実行します

  2. ApplicationUserに追加した行をコメント化します。
  3. 登録するために追加した新しいパラメータまたは別の ページのコメント。
  4. 新しい移行を追加してデータベースを更新します。
  5. すべてコメントを外します。
  6. 新しい移行および更新データベースを追加します。

あなたが移行を有効にする必要がある場合:Enable-Migrations

新しい移行を追加するには、次のデータベースを更新するにはAdd-Migration <string>

を:Update-Database

関連する問題