I’m using an Oracle datasource, reading data only, not writing, I can not alter anything on the database.
Imagine this scenario of 2 tables, a Courses Table and a Memos Table.
The Courses table has 2 links to the memo (MemoId) table.
So…
Course table
CourseId
Title
SummaryNarrationMemoId
PreCourseInformationMemo
MemoToString table
MemoId
MemoData (Binary)
So the course table joins to the Memo Table twice, for different reasons.
I looked down the EF Inheritance route for using the same table twice, using the Memo table as the base, and creating PreCourseMemo and SummaryNarrationMemo, but that throws these errors on build:
I updated the model to add the two tables to the model.

Error 3005: Problem in mapping fragments starting at line 613:Must specify mapping for all types in Set MemoToStringTables.
An Entity with Key (PK) will not round-trip when:
Entity is type [MyModel.MemoToStringTable]
Error 3005: Problem in mapping fragments starting at line 613:Must specify mapping for all types in Set MemoToStringTables.
An Entity with Key (PK) will not round-trip when:
Entity is type [MyModel.PreCourseMemo]
Error 3005: Problem in mapping fragments starting at line 613:Must specify mapping for all types in Set MemoToStringTables.
An Entity with Key (PK) will not round-trip when:
Entity is type [MyModel.SummaryNarrationMemo]
I know I could create a view for each on the database, but it doesn’t feel right. 🙁 Any thoughts?
If I understand your problem correctly, it will not work. You are trying to map inheritance to the Memo table but to do that you Memo table must contain special discriminator column which will tell EF if it is
PreCourseMemoorSummaryNarrationMemo. You cannot differ those types just by relation to course.