0

데이터를 유지하기위한 Entity Framework (EF) 사용과 관련하여 생각 나는 질문이 있습니다. 내 (의도 된) 응용 프로그램은 표준 CRUD 작업이 개별 레코드에서 수행되는 일반적인 LOB 시나리오는 아닙니다.과학적 (수치) 처리 프로그램에 대한 Entity Framework의 적용

대신 엔티티 내에 저장된 데이터를 사용하고, 여러 엔티티의 데이터를 결합하여 일부 매트릭스를 만들고 집중적 인 수치 연산을 수행합니다. 이 집중적 인 프로세스를 통해 엔티티의 속성에 지속적으로 액세스하고 업데이트 할 수 있습니다.

내 관심사는 모든 지연로드, NotifyPropertyChanged 및 PropertyChanged, PropertyChanging 함수 호출 및 SaveChanges에 대한 호출로 인해 EF 엔터티의 속성에 액세스/업데이트하는 작업이 심각하게 감소한다는 것입니다. 함수를 표준 C# 개체와 관련하여 EF 컨텍스트 개체에 적용합니다.

EF가 제공하는 몇 가지 정교함을 희생하면서 속도 문제를 완화하는 방법에 대한 의견이 있으십니까?

감사합니다, 처음에는

답변

1

조숙하게 최적화하지 마십시오. 그것을 시험하고보십시오. 지연로드는 해제 할 수 있으며 변경 내용 추적은 큰 오버 헤드가 아닙니다. 그렇습니다. 필요하다면 POCO를 사용할 수는 있지만 상상 된 성능 문제를 기반으로 이러한 결정을 내리는 것은 큰 실수입니다.

그렇긴해도, 비즈니스 논리를 영구 저장소에 종속시키지 않는 것이 종속성 관리의 관점에서 좋은 결정이라고 생각합니다. 그러나 POCO 엔티티를 사용하여이 작업을 수행 할 필요는 없습니다. 모든 종류의 엔터티가있는 비즈니스 유형에 project을 추가 할 수 있습니다.

1

흠 LiamV는, 당신은 개체 간의 참조를하지 않도록해야하고, 생성 된 엔티티를 사용하지 마십시오. POCO (일반 오래된 C# 개체) 및 Entity Framework 코드 우선 메서드 사용을 고려하십시오. 이렇게하면 모든 코드 엔티티 프레임 워크가 엔티티를 호출 할 때이를 제어 할 수 있습니다. 이 링크가 도움이 될 수도 있습니다 http://blogs.msdn.com/b/adonet/archive/2009/05/21/poco-in-the-entity-framework-part-1-the-experience.aspx