2011-11-10 37 views

回答

1

不是乾淨的解決方案,但你可以通過部分類添加一個附加屬性:

partial class Person 
{ 
    public Person Friend 
    { 
     get { return this.Person1; } 
     set { this.Person1 = value; } 
    } 
} 

這也是我對把嚴格類型枚舉性能在數字領域的標準程序。

任何其他解決方案(如使用自動生成的代碼)通常都會開始崩潰,因爲每次進行模式更改時都會不斷重新生成代碼。

該選項是開始使用EF(我認爲他們有這個解決方案),但這就像試圖通過用霰彈槍吹噓你的手臂癢。

+0

儘管phoog的答案在技術上更加正確(用於處理集合,比如bert.Friends),但這解決了我簡單的語法問題。這不是它的問題,但我喜歡寫易於閱讀的自我記錄代碼。出於這個原因,這種更簡單的方法更適合。謝謝! – James

2

從例如在http://msdn.microsoft.com/en-us/library/bb386950.aspx它看起來像你想這樣做:

private EntitySet<Person> _Friends; 
[Association(Storage = "_Friends", OtherKey = "PersonID")] 
public EntitySet<Person> Friends 
{ 
    get { return this._Friends; } 
    set { this._Friends.Assign(value); } 
} 

編輯:

要通過.dbml文件到這一點,在http://msdn.microsoft.com/en-us/library/bb546179.aspx

使用說明您可能會猜到,您需要進行的修改是搜索「Person1」,並根據需要將其替換爲「朋友」或「朋友」。

+0

我對LINQ2SQL真的很陌生。到目前爲止,我一直依靠.dbml和voodoo魔術來將DB轉化爲對象。這段代碼去哪裏?我無法在我的MVC項目中找到自動生成的東西。 – James

+0

@James:請參閱編輯以獲取關於修改dbml文件的一些文檔的鏈接。 – phoog