外排比方說,我有以下數據庫/數據集架構結構:重命名一個強類型化的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 {
// ...
}
但我不能改變,或設計師可能會郵寄我...
當我在過去使用實體框架時,我確實記得看到我可以在哪裏命名關係的一端或另一端。我不知道我得到你在說什麼ORM我正在使用。我正在使用「標準數據集」,但我不知道我還能說什麼。 – Tipx 2011-05-16 16:01:33
@Tipx - 您使用什麼工具進行代碼生成? – skaz 2011-05-16 17:17:48
默認的「自定義」工具,即MSDataSetGenerator。 – Tipx 2011-05-16 17:30:09