sqlmetal 생성 연관 이름은 많은 좌절의 원인이었습니다. 때때로 연관은 단순히 "Id"가 끝나는 열 이름이며, 때로는 외래 키 제약 조건 이름을 기반으로 한 연관 이름을 생성합니다.sqlmetal은 연결 이름을 어떻게 생성합니까?
나는이 이름들을 생성하기 위해 어떤 단계를 사용하는지 간단히 알 수 없으며, 최근의 스키마 변경으로 연관 이름이 크게 바뀌었기 때문에이를 처리하고 싶습니다.
나는 일종의 체인에서 서로를 참조하는 두 개의 테이블을 가지고있다.
class In
{
int Id;
EntityRef<Out> Yields; // YieldsId => FK_Out_Source
EntitySet<Out> In_Source; // FK_In_Source
}
class Out
{
int Id;
EntityRef<In> Yields; // YieldsId => FK_In_Source
EntitySet<In> Out_Source; // FK_Out_Source
}
이들은 스키마 변경 이전의 클래스로, 입력 및 출력 테이블 사이에 여분의 FK 필드가있었습니다. 해당 필드를 삭제 한 후, sqlmetal 이제이 생성
class In
{
int Id;
EntityRef<Out> Yields; // YieldsId => FK_Out_Source
EntitySet<Out> Out; // FK_In_Source
}
class Out
{
int Id;
EntityRef<In> In; // YieldsId => FK_In_Source
EntitySet<In> Out_Source; // FK_Out_Source
}
이전 수업은해야으로 완벽하게 대칭 있었지만, 지금은 생성 된 클래스는 완전히 비대칭이다. 아무도 이것을 설명 할 수 있습니까?