2016-12-28 15 views
0

以下のようにコードレベルからasp.net IDテーブル構造体にレコードを挿入しようとしています。ユニットテストプロジェクト私はasp.net IDテーブルのシードを使用してユーザーを挿入します。

public class IdentityRepositoryTest 
{ 
    IdentityRepository identitityRepo; 

    // initialize the test class 
    [TestInitialize] 
    public void TestSetup() 
    { 
     ProjectName_DbInitalize db = new ProjectName_DbInitalize(); 
     System.Data.Entity.Database.SetInitializer(db); 
     identitityRepo = new IdentityRepository(); 
    }  
} 

を次のように挿入していますが、私はこれを実行すると、私がこれを適切に行うことができますどのように、AspNet.Users表や他のテーブルに値を挿入されていない

public class ProjectName_DbInitalize : DropCreateDatabaseIfModelChanges<ProjectName_DBContext> 
{ 
    protected override void Seed(ProjectName_DBContext context) 
    { 

     context.AspNetUsers.Add 
     (
       new AspNetUser 
       { 
        Email = "[email protected]", 
        EmailConfirmed = true, 
        PasswordHash = "123456", 
        SecurityStamp = "Author 1st Bio", 
        PhoneNumber = "0734248148", 
        PhoneNumberConfirmed = true, 
        LockoutEndDateUtc = null, 
        LockoutEnabled = true, 
        AccessFailedCount = 0, 
        UserName = "", 
        FirstName = "", 
        LastName = "", 
        CreatedBy = "", 
        CreatedDate = null, 
        UpdatedBy = null, 
        UpdatedDate = null 

       } 
     ); 

     context.SaveChanges(); 

     base.Seed(context); 

    } 

} 

答えて

0

PasswordHashを追加しないようにしてください(ハッシュを行い、塩をかける必要があると思います)。空でないユーザー名(maybはメールと同じに設定されています)を入れてみてください。最後に

あなたがそれをデバッグし、まさにこの

パブリッククラスProjectName_DbInitalizeような何かエラー読むことができるようにトライキャッチでそれを入れてみてください:DropCreateDatabaseIfModelChanges { 保護されたオーバーライド無効種子(ProjectName_DBContextコンテキスト) {

 try 
     { 
      context.AspNetUsers.Add 
        (
         new AspNetUser 
         { 
          Email = "[email protected]", 
          EmailConfirmed = true, 
          PasswordHash = "123456", 
          SecurityStamp = "Author 1st Bio", 
          PhoneNumber = "0734248148", 
          PhoneNumberConfirmed = true, 
          LockoutEndDateUtc = null, 
          LockoutEnabled = true, 
          AccessFailedCount = 0, 
          UserName = "", 
          FirstName = "", 
          LastName = "", 
          CreatedBy = "", 
          CreatedDate = null, 
          UpdatedBy = null, 
          UpdatedDate = null 

         } 
        ); 

      context.SaveChanges(); 

      base.Seed(context); 

      //context.SaveChanges(); 


     } 
     catch (Exception ex) 
     { 

      throw ex; 
     } 
    } 

} 
関連する問題