2013-04-15 3 views
0

엔티티 프레임 워크에서 엔티티 키 할당에 대한 정확한 지식 격차가 있습니다.엔티티 프레임 워크에서 엔티티 키 할당

변수를 엔티티의 엔티티 키가되도록 설정하면 코드를 먼저 작성하거나 모델을 먼저 작성하면 열을 ID로 설정하지만 내 모델의 기본 생성자에서 엔티티 키를 0으로 지정하면 어떻게됩니까? 퍼스트 클래스, EF는 무엇을합니까?

EF는 자동 할당이며 생성자에서 설정 한 기본값을 무시합니다.

아니면 데이터를 검색 할 때와 다른 엔터티 키를 할당해야합니까?

답변

1

지금까지 나는 EntityKey 개체를 설정하는 데 절대적으로 대안이없는 첫 번째 시나리오를 아직 보지 못했습니다. 하지만 당신이 그걸 언급하지 않고 있다고 가정하지만, 키를 설정하는 것 값은입니다.

키가 데이터베이스 (식별 열)에 의해 생성 될 때 기본 키 값을 설정하는 것이 거의 필요하지 않습니다. EF에서 엔터티를 삽입하려면 기본 키를 설정하지 않고 EntityStateAdded (직접 또는 간접적으로)으로 설정합니다.

stub entities을 사용하여 기본 키 값을 설정하는 것이 유용한 시나리오를 생각해 볼 수 있습니다. 예를 들어, id 값이 3 인 객체 A를 삭제해야하지만 객체 A가 데이터베이스에서 반입되지 않았다는 것을 알고 있다고 가정합니다. 따라서 상태를 Deleted으로 변경할 수있는 객체가 없습니다. 이 경우 ID 값이 채워진 스텁 엔티티 A를 작성하여 Deleted 컨텍스트에 연결하고 변경 사항을 저장하여 데이터베이스 왕복을 방지 할 수 있습니다.

관련 문제