2013-11-27 3 views
1

간단한 멤버쉽을 사용하여 간단한 로그인을 만들려고했지만 데이터베이스가 이미 생성되었을 때 오류없이 애플리케이션을 실행할 수 있다는 것을 알았습니다. 기존 데이터베이스없이 응용 프로그램을 실행하려고하면이 오류가 발생합니다. => 로그인에서 요청한 데이터베이스 "OdeToFoodDb"을 열 수 없습니다. 로그인에 실패했습니다. 'mycomp-PC \ mycomp'사용자가 로그인하지 못했습니다.MVC4에서 WebSecurity.InitializeDatabaseConnection이 로그인 요청한 데이터베이스를 열 수 없음

로그인 요청한 데이터베이스를 열 수 없습니다. 로그인에 실패했습니다.

수동으로 데이터베이스를 만들지 않아도 자동으로 생성되는 솔루션이 있습니까?

protected void Application_Start() 
     { 

      if (!WebSecurity.Initialized) 
      { 
       WebSecurity.InitializeDatabaseConnection("OdeToFoodDb", "UserProfile", "UserId", "UserName", autoCreateTables: true); 
      } 


      AreaRegistration.RegisterAllAreas(); 

      WebApiConfig.Register(GlobalConfiguration.Configuration); 
      FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); 
      RouteConfig.RegisterRoutes(RouteTable.Routes); 
      BundleConfig.RegisterBundles(BundleTable.Bundles); 
      AuthConfig.RegisterAuth(); 
     } 




public class OdeToFoodDb : DbContext 
    { 
     public DbSet<Restaurant> Restaurants { get; set; } 

     public DbSet<RestaurantReview> Reviews { get; set; } 

     public DbSet<UserProfile> UserProfiles { get; set; } 
    } 

내 데이터베이스 컨텍스트 내 Web.config의

선생님/엄마 '도 내 데이터베이스의 이름입니다 global.asax.cs에 대한

코드 : 여기

내 코드입니다 당신의 대답은 큰 도움이 될 것입니다. 고맙습니다. ++

답변

0

응용 프로그램을 다시 시작하지 않았을 수 있습니다. App_Start는 한 번만 실행되며 데이터베이스와 테이블이 초기화되는 유일한 시간이므로 데이터베이스가 삭제되고 응용 프로그램이 다시 시작되지 않으면 존재하지 않는 데이터베이스에 연결하려고 할 때 분명히 오류가 발생합니다. IIS에서 응용 프로그램을 다시 시작하면이 문제가 해결됩니다.