Entity Frameworks (EF)는 의도적으로이 작업을 수행합니다. 외래 키를 업데이트해도 탐색 속성이 업데이트되지 않습니다.
그러나 탐색 속성을 업데이트하면 키가 업데이트됩니다. 이 경우 Address
엔티티가 동일한 컨텍스트에서 제공되어야합니다. 그렇지 않은 경우 .SaveChanges()
은 Address
엔티티를 새로운 것으로 간주하여 데이터베이스에 추가하려고합니다.
어떤 방법이 더 나은지에 대한 질문에 대해서는 잘 맞습니다!
- 키를 업데이트하는 것은 간단하며 데이터 전송 개체 (DTO) 또는 일반 SQL을 사용하여 수행 한 작업입니다. 초보자가 EF를 쉽게 이해하고 사용할 수 있습니다.
- 탐색 속성을 업데이트하면 실제로 개체 기반 데이터 모델을 얻을 수 있습니다. 코드는보다 깨끗하고 읽기 쉽게 보입니다. 그러나 Context를 매우 조심해야합니다. EF에 대한 개인적인 경험으로는 네비게이션 속성을 업데이트하려고 할 때 특히 데이터 액세스 레이어 뒤에 컨텍스트가 숨겨져있는 다중 계층 아키텍처에서 가치보다 복잡성이 더 많이 발생한다는 것을 알았습니다.
제 생각에 EF의 가장 중요한 이점은 LINQ-to-Entities를 사용하는 쿼리 작업입니다. 내 쿼리 및 강력한 입력을위한 컴파일 타임 구문 검사가 있습니다. 추가 코드 없이도 여러 수준의 하위, 데이터 바인딩 준비가 가능한 객체 기반 결과 집합을 쉽게 만들 수 있습니다. 나는 거의 SQL을 쓰지 않는다.
답변 해 주셔서 감사합니다. 더 나은 점은 키를 업데이트하거나 전체 탐색 속성을 업데이트하는 것입니다. – SeToY
+1 합리적인보기는 –