0

일대일 관계를 구성하는 방법이 있습니까? Fluent API 만 사용 하시겠습니까? (데이터 주석 없음).엔티티 프레임 워크 일대일 유창한 API

public class User 
{ 
    public int Id {get;set;} 
    public string Name {get;set;} 
} 

public class Address 
{ 
    public int Id{get;set;} 
    public string Address {get;set;} 
    public User User {get;set;} 
    public int UserId {get;set;} 
} 

주소가 식별 아이디뿐 아니라 사용자 (사용자 아이디)에 외래 키가 있습니다

나는 이런 식으로 뭔가를해야합니다. 가능한가? 귀하의 사용자/주소의 경우이 같은

+0

'Address'가'User'와 별도의 FK를 가지고 있다면, 나는 [here] (http://stackoverflow.com/a/27381980/861716)에서 설명한 것처럼 항상 1 : n 연관이됩니다. 코드에 1 : 1을 적용해야합니다. –

답변

0

뭔가 작업을해야합니다 :

protected override void OnModelCreating(DbModelBuilder modelBuilder) 
    { 
     modelBuilder.Entity<Address>() 
        .HasKey(e => e.UserId); 

     modelBuilder.Entity<Address>() 
        .Property(e => e.UserId) 
        .HasDatabaseGeneratedOption(DatabaseGeneratedOption.None); 

     modelBuilder.Entity<Address>() 
        .HasRequired(e => e.User) 
        .WithRequiredDependent(s => s.Address); 

     base.OnModelCreating(modelBuilder); 
    } 

는 엔티티 프레임 워크 유창함 API에 대한 자세한 내용은, 당신은 this 또는 this를 참조 할 수 있습니다. 이미 데이터베이스를 가지고 있고 그것을 위해 포항 강판을 생성 할 경우

, 당신은 할 수 this

희망 같은 도구를 사용할 수 있습니다.

+0

내가 필요한 것은 ID는 PK이고 신원과 UserId는 외래 ​​키입니다. 나는 아직도 그것이 가능하지 않다고 믿는다. –

+0

Principal 클래스의 속성없이 속성을 만들 수 있습니까? 이 샘플에서는 사용자가 Address 속성을 가지고 있지 않습니다. – basilkot

관련 문제