我正在使用Oracle數據源,只讀數據,而不是寫數據,我可以而不是在數據庫上修改任何東西。EF4:使用同一個表兩次
想象一下這個2表的場景,一個課程表和一個備忘錄表。
該課程表有2個鏈接到備忘錄(MemoId)表。
所以......
課程表 CourseId 標題 SummaryNarrationMemoId PreCourseInformationMemo
MemoToString表 MemoId MemoData(二進制)
所以課程表連接到備忘錄表兩次,原因不同。
我看不起EF繼承路線使用同一個表兩次,使用備忘錄表爲基礎,並創造PreCourseMemo和SummaryNarrationMemo,但拋出的構建這些錯誤:
我更新了模型添加這兩個表格的模型。
錯誤3005:從第613行開始映射片段時出現問題:必須爲Set MemoToStringTables中的所有類型指定映射。 將實體與密鑰(PK)不會往返時: 實體是鍵入[MyModel.MemoToStringTable]
錯誤3005:問題在映射片段起始於線613:必須在集MemoToStringTables所有類型指定映射。 將實體與密鑰(PK)不會往返時: 實體是鍵入[MyModel.PreCourseMemo]
錯誤3005:問題在映射片段起始於線613:必須在集MemoToStringTables所有類型指定映射。 的實體鍵(PK)時不會往返: 實體是鍵入[MyModel.SummaryNarrationMemo]
我知道我可以創建每個數據庫視圖,但感覺不對。 :(任何想法?
這只是我試過的方法之一,我是在關於如何使用這張表兩次的建議之後 – 2012-04-24 10:35:00
你不能。 EF不允許映射表兩次,除非有效使用TPH繼承與鑑別器列或表分割不會解決您的問題。 – 2012-04-24 10:36:14