2014-12-11 1 views
0

나는 클래스 만들었습니다사용자 정의 기본 키 관련 엔티티 ID 속성을 먼저

public class Client 
{ 
    public long AccountNumber {get;set;} 
    // ... 
} 

을 내가 아닌 기본 (ID) 기본 키를 사용하고 있습니다 :

modelBuilder.Entity<Client>().HasKey(x => x.AccountNumber); 

과 내가 포함 속성을 추가 할 Client

public class Something 
{ 
    public Client Client {get;set;} 
} 

와 가진 관계에있는 기업이있어 외래 키 값 - ClientAccountNumber

기본값 인 PK (Id, f.e. Client.Id)이 아웃 - 오브 - 박스 작동 : 사용자 정의 PK로

public class Client 
{ 
    public long Id {get;set;} 
} 

public class Something 
{ 
    public Client Client {get;set;} 
    public long ClientId {get;set;} 
} 

이 작동하지 않습니다

이 는
public class Something 
{ 
    public Client Client {get;set;} 
    public long ClientAccountNumber {get;set;} // some kind of convention? 
               //or explicit configuration? 
} 
이는 EF 알아낼 수, 속성의 이름이어야 무엇

입니다 것을 단순히 FK? 명명 규칙이 있습니까?

+0

에 오신 것을 환영합니다 :

바로 당신이 원하는 어떤 종류의 관계를 명확하지만, 많은 일을 가정하지 않습니다! [해당 제목에 "태그에"태그를 포함해야합니까? "] (http://meta.stackexchange.com/questions/19190/should-questions-include-tags-in-the-titles)를 참조하십시오. 여기서 컨센서스는 다음과 같습니다. "아니,하지 말았 어야지."라는 질문에 더 의미있는 제목을 찾으십시오! –

+0

안녕하세요 Andreas, 제목은 내가 사용하고있는 기술의 이름을 포함하고 질문 자체에 대한 간단한 설명 (키워드 기반)을 제공합니다. 솔직히이 제목이 부적절한 이유는 알 수 없습니다. – user3573101

+0

[좋은 질문을하는 방법] (http://stackoverflow.com/help/how-to-ask)을 참조하십시오. 문제*. 당신의 제목은 단지 일련의 용어 일 뿐이며 솔직히 말해서 (무례하지는 않습니다) : 제목으로서의 질문은 소개로 더 잘 작동하는 경향이 있습니다 :) –

답변

1

PK와 마찬가지로 외래 키 관계에 대한 매핑을 만들 수 있습니다. 에 StackOverflow에

modelBuilder.Entity<Something>() 
.HasRequired(x => x.Client) 
.WithMany() 
.HasForeignKey(x => x.ClientId); 
관련 문제