2011-09-06 92 views
0

我的數據庫模式已經涉及到訂單行項目(表)以下最佳途徑添加子表中EF

用戶(表)與單(表)

我想有一個導航屬性對於映射到用戶的訂單行項目,但是我不想在訂單行項目表上設置user_id和外鍵 - 是否有一種方法可以通過EF執行此操作 - 我寧願以某種方式連接它通過用戶綁定到訂單表的事實 - 並假定用戶綁定到所有這些訂單行項目?

我使用EF V4

回答

1

我不明白爲什麼你不希望外鍵,但如果你進入模型查看器並右鍵單擊該實體名稱,你可以選擇添加 - >關聯手動添加一個。

+0

如果我添加foriegn鍵,那麼我需要將用戶ID添加到order_line_item表中,並通過代碼和噸地點,只是很多的工作,這種恐懼類型..大聲笑 - 無論如何,我已經添加了一個新的導航屬性,但它只允許我選擇在數據庫中已定義的鍵,添加導航屬性後,我真的不知道如何打領帶這一切 – 99823

+0

不要選擇添加 - >導航propery。添加一個關聯,它帶來了一個嚮導,爲你做這一切 – kmcc049

+0

嗨KMCC049,我做了關聯,但它似乎無法正常工作,因爲我收到錯誤消息,我相信這可能是因爲用戶id表在order_line_items表中不存在,但在orders表中 – 99823

0

你可以只創建OrderLine的實體部分類,添加一個名爲User屬性。實現用戶屬性以通過Order實體自動返回用戶對象。

例如(VB):

Partial Public Class OrderLine 

    Public Readonly Property User As User 
     Get 
      Return Me.Order.User 
     End Get 
    End Property 

End Class 
+0

我想實際顯示用戶的訂單行項目,所以它會是用戶上的部分類,我試過這個(在C#中)但是我不能似乎訪問得到{return this.orders_assigned.order_line_items; } - >我似乎無法訪問部分用戶類的orders_assigned導航屬性 – 99823