기본 키 부족으로 인한 EF 데이터 모델 제외
기존 데이터베이스를 엔티티 프레임 워크 (EF) 4.0에 통합 할 때 일부 테이블이 기본 키가 부족하는 것이 일반적입니다. 이 문제는 새 엔티티 데이터 모델을 만들 때 발생하여 오류 메시지가 누락 된 기본 키를 나타내고 테이블을 제외합니다.
일반적 으로이 문제를 해결하기 위해 물리적 기본 키를 영향을받는 테이블에 추가해야한다고 믿어집니다. 그러나 스키마를 수정하지 않고 이러한 테이블을 사용할 수있는 해결 방법이 있습니다.
Tillito에서 알 수 있듯이,이 해결 방법은 새로운 Select 문에서 문제가있는 견해의 선택 문을 수정하는 것입니다. 이렇게하면 원본 select 문을 랩핑하면 isnull 함수를 사용하여 기본 키로 사용할 열을 지정할 수 있습니다. 대신 Nullif 함수를 사용하여 열이 기본 키로 지정되는 것을 방지 할 수 있습니다.
예:
다음 예를 고려하십시오 :
SELECT
ISNULL(MyPrimaryID,-999) MyPrimaryID,
NULLIF(AnotherProperty,'') AnotherProperty
FROM ( ... ) AS temp
이 예에서 ISNULL 함수는 EF가 "myPrimaryId"를 기본 키로 인식하도록 강요하는 반면 Nullif 함수는 "또 다른 장점"이 기본 키로 간주되지 않도록합니다.
이 기술을 적용하면 데이터베이스 스키마를 수정하고 기존 테이블을 EF 데이터 모델에 원활하게 통합하여 물리적 기본 키를 수정할 필요없이 데이터 작업을 허용 할 수 있습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3