기본 키 누락으로 인한 EF 데이터 모델 제외
기존 데이터베이스를 EF(Entity Framework) 4.0에 통합할 때 일부 테이블에 기본 키가 누락되는 것이 일반적입니다. 이 문제는 새 엔터티 데이터 모델을 만들 때 발생하며, 기본 키가 누락되어 이후에 테이블이 제외된다는 오류 메시지가 표시됩니다.
이 문제를 해결하려면 영향을 받는 테이블에 물리적 기본 키를 추가해야 한다고 일반적으로 알려져 있습니다. 그러나 스키마를 수정하지 않고도 이러한 테이블을 사용할 수 있는 해결 방법이 있습니다.
Tillito가 제안한 것처럼 이 해결 방법에는 새 SELECT 문에서 문제가 되는 뷰에 대한 SELECT 문을 수정하는 작업이 포함됩니다. 원래 SELECT 문을 이런 방식으로 래핑하면 ISNULL 함수를 사용하여 기본 키로 사용할 열을 지정할 수 있습니다. 대신 NULLIF 함수를 사용하여 열이 기본 키로 지정되지 않도록 할 수 있습니다.
예:
다음 예를 고려해 보세요.
<code class="language-sql">SELECT ISNULL(MyPrimaryID,-999) MyPrimaryID, NULLIF(AnotherProperty,'') AnotherProperty FROM ( ... ) AS temp</code>
이 예에서 ISNULL 함수는 EF가 "MyPrimaryID"를 기본 키로 인식하도록 하는 반면, NULLIF 함수는 "AnotherProperty"가 기본 키로 간주되지 않도록 합니다.
이 기술을 적용하면 데이터베이스 스키마를 수정할 필요가 없고 기존 테이블을 EF 데이터 모델에 원활하게 통합하여 물리적 기본 키를 수정하지 않고도 데이터 조작이 가능해집니다.
위 내용은 물리적 기본 키 없이 EF 4.0 데이터 모델을 어떻게 통합할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!