2011-05-16 45 views
0

外排比方說,我有以下數據庫/數據集架構結構:重命名一個強類型化的DataSet

Employee表

  • 僱員PK
  • 名稱

表臺

  • DeskID PK
  • NumberOfLamps
  • OwnerEmployeeID FK以EmployeeID爲

當然,我可以訪問員工姓名這樣做:

string employeeName = desk.EmployeeRow.Name; 

我想訪問他的名字做這個:

string employeeName = desk.OwnerEmployee.Name; 

在這個例子中,我知道它基本上毫無意義,但讓我們說你h AVE表示的n到n映射凸臺/僱員另一個表:

表WhosTheBoss

  • WhosTheBossID PK
  • BossEmployeeID FK
  • SlaveEmployeeID FK

訪問他們的名字止跌't be fun,imho:

string notCool = string.Format(
    "{0} is a slave to {1}.", 
    whosTheBoss.EmployeeRow1.Name, 
    whosTheBoss.EmployeeRow.Name); 



編輯:我在設計師檢查生成的代碼和這裏是我目前有:

[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
public EmployeeRow EmployeeRow { 
    get { 
     return ((EmployeeRow)(this.GetParentRow(this.Table.ParentRelations["FK_Desk_Employee"]))); 
    } 
    set { 
     this.SetParentRow(value, this.Table.ParentRelations["FK_Desk_Employee"]); 
    } 
} 

而且想什麼,我有會:

[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
public EmployeeRow OwnerEmployeeRow { 
    // ... 
} 

但我不能改變,或設計師可能會郵寄我...

回答

0

首先,我愛y我們的使用或「notCool」和奴隸制。

您沒有提及您正在使用哪個對象關係映射程序,但大多數將允許您更改您擁有外鍵的對象的名稱。例如,在實體框架中,您可以編輯實體數據模型上的屬性以提供更友好的名稱。

+0

當我在過去使用實體框架時,我確實記得看到我可以在哪裏命名關係的一端或另一端。我不知道我得到你在說什麼ORM我正在使用。我正在使用「標準數據集」,但我不知道我還能說什麼。 – Tipx 2011-05-16 16:01:33

+0

@Tipx - 您使用什麼工具進行代碼生成? – skaz 2011-05-16 17:17:48

+0

默認的「自定義」工具,即MSDataSetGenerator。 – Tipx 2011-05-16 17:30:09

1

我能夠使用自動生成的.xsd文件上的XML模式編輯器來重命名爲數據集數據表生成的類名。

也許在此文件中搜索EmployeeRow並更改它 - 然後重建也可以幫助您?

+0

很明顯,但仍然感謝提示 – 2013-07-24 06:39:28