반응형
MapKey 대 HasForeignKey 차이점 - Fluent Api
실제로 차이점은 무엇입니까?
this.HasRequired(a => a.Something)
.WithMany()
.Map(a => a.MapKey("SomethingId"));
그리고
this.HasRequired(a => a.Something)
.WithMany()
.HasForeignKey(a => a.SomethingId);
두 매핑 모두 null을 허용하지 않는 외래 키 SomethingId
와 두 관련 테이블 간의 참조 제약 조건 을 사용하여 정확히 동일한 데이터베이스 스키마를 생성합니다 .
첫 번째 매핑 MapKey
은 외래 키를 모델 클래스의 속성으로 원하지 않을 때 사용됩니다. 이 경우 연결 유형을 독립 연결 이라고 합니다. HasForeignKey
외래 키가 모델의 속성인 경우 두 번째 매핑을 적용합니다 . 이 유형을 외래 키 연결 이라고 합니다.
많은 시나리오에서 외래 키 연결로 작업하는 것이 더 쉽지만 많은 사람들은 개체 세계에 관계형 아티팩트(외래 키)가 있는 것이 덜 깨끗하다고 생각하므로 독립 연결을 선호합니다.
다음은 두 가지 유형의 연결과 장단점에 대한 참고 자료입니다.
- http://www.ladislavmrnka.com/2011/05/foreign-key-vs-independent-associations-in-ef-4/
- 독립 연결 및 외래 키 연결이란 무엇입니까?
- 코드 우선: 독립 연결 대 외래 키 연결?
참조URL : https://stackoverflow.com/questions/15595818/mapkey-vs-hasforeignkey-difference-fluent-api
반응형
'IT이야기' 카테고리의 다른 글
Framework 3.5에서 서버 태그 <%= %>로 Visible 속성 설정 (0) | 2021.09.30 |
---|---|
Node.js에 없는 경우에만 파일 생성 (0) | 2021.09.30 |
셸 스크립트의 명령줄을 통해 예상에 인수를 전달하는 방법 (0) | 2021.09.30 |
AngularJS: $resource를 사용하여 파일 업로드(솔루션) (0) | 2021.09.30 |
EPPlus를 사용한 Excel 날짜 형식 (0) | 2021.09.30 |