2013-10-27 2 views
2

코드 우선 접근 방식을 사용하지만 기존 데이터베이스를 사용하여 EF를 시도하고 있습니다. 검색을 한 후에 내 컨텍스트의 Initializer를 nullSetInitializer<>으로 설정하는 것이 중요하다는 것을 알았습니다. 이제 대부분의 샘플에서 나는 수정 자로 MyDbContext 생성자를 선언했다. this SO answer을 확인하십시오.
그래서 static 생성자를 선언하는 것은 무엇입니까?EF 코드의 정적 생성자

답변

3

정적 생성자는 다른 생성자보다 먼저 자동으로 실행되며 정적 멤버가 액세스되기 전에 자동으로 실행됩니다. appdomain마다 한 번만 호출되므로 데이터베이스 형식에서 정적 SetInitializer 메서드를 호출하는 등의 통계를 초기화하는 데 유용합니다.

+0

정적 생성자를 사용하는 것은 ** 필수 **가 아닙니다. 더 좋은 방법일까요? –

+0

맞습니까? Entity Framework에서 SetInitializer를 호출하는 방법은 중요하지 않습니다. 기본 이니셜 라이저를 변경해야하는 경우 컨텍스트에서 다른 것보다 먼저 호출해야합니다. 기본값 인 CreateDatabaseIfNotExists를 변경할 필요가 없다면 전혀 호출 할 필요가 없습니다. –