2013-12-21 97 views
0

傍晚你可愛的SO用戶,我有一個問題給大家。非簡單連接的導航屬性

我最近開始研究一個數據量相當大的現有項目,我的任務是讓我們的.NET開發人員更容易一點。普遍的一致意見是我們想要使用實體框架(或類似的),但是我在處理如何映射一些我們使用的更有趣的JOIN子句時遇到了問題。我相信我需要導航屬性來將實體連接在一起,但我不知道如何去製作我自己的。目前我所擁有的是從數據庫創建模型時生成的。

我給你舉個例子。我們有一張表格,其中包含大量可能與客戶,供應商,員工或最終用戶相關的文本數據。通過使用OwnerID字段和OwnerType字段(其中包含表示類型的單個字符)將數據鏈接回這些數據。這可能並不理想,但我無法改變數據庫的設計,我想知道是否可以讓ORM處理將所有內容鏈接在一起的令人討厭的工作,這樣我們的開發人員就可以加載他們想要的客戶記錄然後找到鏈接的文本數據。

這可能嗎?如果是這樣,任何人都可以向我指出一些資源的方向來幫助我解決這個問題嗎?我有一個很好的舊搜索,但我真的不知道如何說出我的查詢。

回答

0

聽起來好像OwnerId不是外鍵,這意味着您無法正確使用navigationproperties。

我沒有看到任何黑客,因爲你指出自己這不是一個很好的解決方案。解決這個問題的唯一方法是重新設計你的數據庫或使用包裝這個的方法。

+0

不,這不是一個可悲的外國關鍵。該死的,我擔心會是這樣。那麼我猜ORM是不適合我們的。我無法重新設計數據庫,因爲其他應用程序依賴於其結構。 – djstamp