2009-09-14 45 views
0

我知道我可以在沒有外鍵的情況下創建LINQ關聯。問題是,我一直通過在DBML文件中添加[Association]屬性(與通過設計器相同)來完成此操作,在刷新數據庫(並重新加載整個表結構)後,該屬性會再次被刪除。LINQ:在沒有外鍵的情況下在代碼中創建持久性關聯

我知道有MyData.cs文件(作爲DBML的一部分),我可以將我的部分擴展等放到域對象(甚至在我刷新DBML後仍然存在),但是我沒有知道如何在那裏創建一個關聯?

回答

1

您可以創建一個CS文件和一個自定義部分類。

public partial class myClass 

而且,看看你是否可以把協會放在那裏。我沒有以這種方式使用自定義關聯,但它看起來像應用於屬性。您可以將該屬性剪切並粘貼到部分類中,這將生成。

public partial class Parent 
{ 

    [Association(Name = "Parent_Child", Storage = "_Childs", ThisKey = "ParentKey", OtherKey = "ChildKey")] 
    public EntitySet<Child> Childs 
    { 
     get 
     { 
      return this._Childs; 
     } 
     set 
     { 
      this._Childs.Assign(value); 
     } 
    } 
} 
+0

難道你不需要定義_Childs來使它工作嗎?類似'protected EntityRef _Childs;'然後定義部分方法OnCreate'partial void OnCreated(){this._Childs = default(EntityRef ); }'。 – jahu 2014-08-12 12:14:05

相關問題