작은 모델/컨텍스트에서 프로젝트를 중단하도록 EF6을 권장 할 때까지 컨텍스트 당 약 10 개의 클래스를 본 것을 기억합니다. 글쎄, 이것은 여전히 EF7/Entity Framework 코어에 적용 가능합니까?엔티티 프레임 워크 코어 모델 별 최대 코어 클래스
0
A
답변
3
EF 코어는 모델에 추가 할 수있는 엔티티 유형의 수를 제한하지 않습니다. 엔티티 유형이 많은 모델은 초기 모델 생성의 성능에만 영향을 미치지 만이 모델은 캐시되므로 생성은 컨텍스트 유형마다 한 번만 수행됩니다.
그러나 EF6에서 변경되지 않은 것은 많은 관련 엔터티 형식의 연결 그래프에서 LINQ 쿼리를 사용하면 느리고 복잡하거나 버그가있는 동작이 발생할 수 있다는 것입니다.
자세한 정보 : 데이터베이스 모델링에 대한 자세한 내용은 EF Core 및 EF 6 비교에 대한 자세한 내용은 체크 아웃 https://docs.efproject.net/en/latest/efcore-vs-ef6/ 및 https://docs.efproject.net/en/latest/modeling/을 참조하십시오.
글쎄, 초기 모델 생성은 각 스레드마다 발생 합니다만, 모든 웹 사이트 요청에 대해로드 할 컨텍스트를로드 할 수 있습니까? –
두 부분 질문입니다. (1) 캐시 된 모델은 싱글 톤 (프로세스 당)입니다. (2) ASP.NET에 대해 이야기한다고 가정하면 웹 요청에서 DbContext 인스턴스를 공유해서는 안됩니다. 옵션 및 모델 구축이 캐시 될 때마다 요청 당 새로운 컨텍스트를 작성하여 퍼시픽 히트를 지불하지 않습니다. 서비스의 수명주기에 대한 자세한 내용은 https://docs.asp.net/en/latest/fundamentals/dependency-injection.html을 참조하십시오. – natemcmaster
완벽한, 그래서 내 요청에 로딩 시간을 피하기 위해 대형 모델을 피해야한다. Tks! –