2

나는 다음과 같은 개체가 있습니다EF 코드 최초의 4.3 명명 규칙 외래 키

public class User 
{ 
    public int ID {get; set;} 

    public int GroupID {get; set;}  // navigation property with 
    public Group Group {get; set;}  // foreign key field 

    public Adress Adress {get; set;} // navigation property only 

} 

같은 엔티티 프레임 워크에서 생성 된 테이블 보이는 : 내가 좋아하지 않는

ID 
GroupID 
Adress_ID 

, 열 이름이 FK 컬럼은 동일하지 않습니다. 둘 다 "GroupID, AdressID"또는 "Group_ID, Adress_ID"중 하나를 사용하여 동일한 규칙을 사용할 수 있습니까?

구성보다 규칙을 사용하며 Fluent API를 사용하고 싶지 않습니다.

답변

2

EF 4.1에서 4.3은 사용자 지정 규칙 작성을 지원하지 않으므로 불가능합니다. 당신이 (유창함 API없이) 할 수있는 유일한 방법은 아마도 다른 열 이름으로 외국의 속성을 매핑된다

[Column("Group_ID")] 
public int GroupID {get; set;} 

그런 다음 데이터베이스에 밑줄을 모두 FK 열 수 있습니다. 하지만 알 수 있듯이 데이터 주석으로 컨벤션을 덮어 써야합니다.

modelBuilder.Entity<User>() 
    .HasOptional(u => u.Address) 
    .WithMany() 
    .Map(x => x.MapKey("AddressID")); 
+0

'http://stackoverflow.com/questions/18050590/why-does-ef5-create-foreign-keys-with : 밑줄없는 제 FK 컬럼 정의

유창함 API 만 가능 -id-but-recommend-naming-convention-id-wi/18066373? noredirect = 1 # 18066373' 열이 나타나는 이유를 설명합니다. –

관련 문제