0
關聯名稱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
}
這些是模式更改之前的類,其中In和Out表之間存在額外的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
}
以前的班是完全對稱的,因爲他們是應該的,但現在生成的類是完全不對稱的。任何人都可以解釋嗎?