기존 데이터베이스의 데이터 모델을 구성하는 데 많은 시간을 투자 한 후 더 많은 통찰력을 얻길 바랍니다. 나는 다음과 같은 데이터베이스 구조를 가지고있다.Entity Framework 4.3 일대일 외래 키 관계
User (Table)
UserID (P.K Identity int)
UserName (nvarchar)
UserSetting (Table)
UserSettingsID (P.K Identity int)
UserSettingsUserID (F.K of User.UserID)
모델에서 나는 useretting 엔티티를위한 UserSetting 속성과 usersetting 엔티티의 User 속성을 가지고있다.
사용자 설정 엔티티 유형 구성에서;
this.HasRequired(t => t.User)
.WithMany(t => t.UserSetting)
.HasForeignKey(d => d.UserSettingsUserID)
.WillCascadeOnDelete(false);
사용자 엔터티에 ICollection으로 UserSetting을 만들면 위의 기능이 작동합니다 (현재로서는이 솔루션 만 사용 가능합니다). 외래 키 속성 설정과 그물에서 찾을 수있는 거의 모든 것이 있지만 행운은 없습니다. 이것은 리포지터리 패턴과 작업 단위를 사용하여 엔티티 프레임 워크로 코딩 한 첫 번째 시간입니다. 솔루션에 대한
스키마 정의에서 DB에 1 대 1 관계를 적용하려면 'UserSetting' 테이블의'UserSettingUserID' 열에 고유 한 제한 조건이 필요합니다. 내가 잘못 생각하지 않는다면 EF 5.0에서만 고유 제한 조건이 지원됩니다. http://geekswithblogs.net/JoshReuben/archive/2010/09/13/entity-framework-5.0---not-quite-there-yet. aspx http://blogs.msdn.com/b/efdesign/archive/2011/03/09/unique-constraints-in-theentity-framework.aspx –
@DannyVarod : 고유 제약 조건은 EF 5.0에서 지원되지 않습니다. : http://blogs.msdn.com/b/adonet/archive/2012/05/15/ef5-release-candidate-available-on-nuget.aspx 작년 도로지도에 있었지만 확인하지 못했습니다. EF 5에. – Slauma