3

asp.net mvc 4.5 인터넷 응용 프로그램과 함께 제공되는 기본 간단한 회원 데이터베이스에 대해이 간단한 질문을하고 싶습니다, 내 질문에 대한 어디에 테이블을 만들지 않습니다 먼저 새 사용자를 만들면 기본 연결 문자열 (LocalDB)에 테이블이 만들어 집니까? 기본 MS SQL Express 데이터베이스를 사용하도록 기본 연결 문자열을 변경하면 해당 데이터베이스가 반영되고 새 테이블에 해당 테이블이 만들어 집니까? 어떻게 간단한 회원 테이블에 대한 기본 데이터베이스를 변경할 수 있습니다

i는 기본 계정 모델에이 코드를 발견하고 DbContext 클래스에서이이 코드였다 연결 기본값으로 말한다 : SimpleMembership는 InitializeSimpleMemberhsipAttribute.cs 클래스에 초기화됩니다

public class UsersContext : DbContext 
{ 
    public UsersContext() : base("DefaultConnection") 
    { 
    } 

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

답변

2

합니다. 기본 MVC 4 인터넷 프로젝트 템플릿에서

, 필터 디렉토리로 이동 한 후 다음과 같이 위의 클래스는 초기화 중 방법을 찾을 수 있습니다 : 당신이 그것을 가리 키도록하려는 경우 기본 설정은,입니다

WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", 
"UserId", "UserName", autoCreateTables: true); 

당신의 문맥 클래스에서

WebSecurity.InitializeDatabaseConnection("MyContext", "TableToPointTo", 
"UserIdColumn", "UserNameColumn", autoCreateTables: false); 

: 다른 데이터베이스에서 같은 것을 할

public class MyContext : DbContext {...} 

그리고 루트 web.config 파일의 <configuration> 섹션 내부의 연결 문자열 섹션에서 이름 변경 : 저도 같은 문제에 직면 한 이후이 스레드에 찾고있다

<connectionStrings> 
    <add name="MyContext" connectionString="..." /> 
</connectionStrings> 
+0

또는 web.config에서 DefaultConnection 연결 문자열의 설정을 변경하십시오. –

+0

OP 요청시 "간단한 멤버십 테이블의 기본 데이터베이스를 변경"하기 위해 InitialiseDatabaseConnection()에서 첫 번째 매개 변수를 변경할 필요가 없습니까? – MattSull

+0

첫 번째 매개 변수는 연결 문자열의 이름입니다. 당신은 "DefaultConnection"로 유지하고 connectinString의 값을 변경할 수 있습니다. 연결 문자열의 이름을 변경하는 경우 DbContext의 생성자에서도 연결 문자열을 변경해야합니다. –

1

합니다. Global.asax에있는 WebSecurity.InitializeDatabaseConnection 연결을 추가와 함께 계정 컨트롤러의 [InitializeSimpleMembership] 속성을 제거

  • SQLSERVER하는

    • 부여 허가 - 내가 좋아하는 모든 단계를 시도했다.

    하지만 아무 것도 효과가 없습니다.

    • 가 localhost로 기본 연결 문자열의 데이터 소스를 변경 -

      그래서 다른 뭔가를 시도했다.
    • MVCApp라는 이름으로 로컬 호스트의 빈 DB를 생성
    • MVCApp
    • 에 대한 연결 문자열의 초기 카탈로그

    그래서 지금 내 연결 문자열을 가리키는에 연결 문자열에서 인 AttachDBFilename를 제거 설정 로컬 데이터베이스. 그리고 효과가있었습니다.

    아직 몇 일 전에 돌아온 MS의 기본 구현이 현재 제대로 작동하지 않는 이유는 아직 확실하지 않습니다. 그러나이 시점에서 나는 일에 만족합니다.