2016-08-10 3 views

답변

3

EF 코어는 모델에 추가 할 수있는 엔티티 유형의 수를 제한하지 않습니다. 엔티티 유형이 많은 모델은 초기 모델 생성의 성능에만 영향을 미치지 만이 모델은 캐시되므로 생성은 컨텍스트 유형마다 한 번만 수행됩니다.

그러나 EF6에서 변경되지 않은 것은 많은 관련 엔터티 형식의 연결 그래프에서 LINQ 쿼리를 사용하면 느리고 복잡하거나 버그가있는 동작이 발생할 수 있다는 것입니다.

자세한 정보 : 데이터베이스 모델링에 대한 자세한 내용은 EF Core 및 EF 6 비교에 대한 자세한 내용은 체크 아웃 https://docs.efproject.net/en/latest/efcore-vs-ef6/https://docs.efproject.net/en/latest/modeling/을 참조하십시오.

+0

글쎄, 초기 모델 생성은 각 스레드마다 발생 합니다만, 모든 웹 사이트 요청에 대해로드 할 컨텍스트를로드 할 수 있습니까? –

+0

두 부분 질문입니다. (1) 캐시 된 모델은 싱글 톤 (프로세스 당)입니다. (2) ASP.NET에 대해 이야기한다고 가정하면 웹 요청에서 DbContext 인스턴스를 공유해서는 안됩니다. 옵션 및 모델 구축이 캐시 될 때마다 요청 당 새로운 컨텍스트를 작성하여 퍼시픽 히트를 지불하지 않습니다. 서비스의 수명주기에 대한 자세한 내용은 https://docs.asp.net/en/latest/fundamentals/dependency-injection.html을 참조하십시오. – natemcmaster

+0

완벽한, 그래서 내 요청에 로딩 시간을 피하기 위해 대형 모델을 피해야한다. Tks! –