2012-04-16 8 views
3

공용 키없이 EF에서 엔터티를 만들고 싶습니다. Backing table에는 고유하지 않은 클러스터 된 키가 있지만 개념적으로 테이블의 데이터에는 사용할 수있는 고유 기본 키가 없습니다.공개 키가없는 EF 엔터티

EF가 실제로 이렇게 좋아하지 않는 것처럼 보입니다. EF가 테이블에 기본 키가 없다는 사실을 받아들이는 방법이 있습니까? 결과가 읽기 전용인지 상관하지 않습니다.

답변

2

Entity Framework는 Entity의 Domain Driven Design 개념을 기반으로하므로 정의에 따라 각 Entity는 고유 한 식별자를 가져야합니다. 테이블의 데이터가 나타내는 개념이 개념적으로 고유 한 식별자를 갖고 있지 않다면 프레임 워크가 의도 한 의미에서 엔티티가 아닙니다.

이것을 염두에두고 저장 프로 시저를 정의하고 through my object context을 사용 가능하게 만든 다음 데이터를 지연로드하는 클래스를 통해이 데이터를 캡슐화하는 객체를 사용 가능하게 만들고 사용중인 객체에 수동으로 매핑하고 그것을 읽기 전용 방식으로 제시합니다.

0

보기를 노출 한 다음 엔티티를보기에 매핑하여이 작업을 수행 할 수도 있습니다.

관련 문제