【发布时间】:2012-04-24 18:30:00
【问题描述】:
我正在使用 Oracle 数据源,只读取数据,不写入,我不能更改数据库上的任何内容。
想象一下这个有 2 个表的场景,一个课程表和一个备忘录表。
Courses 表有 2 个指向备忘录 (MemoId) 表的链接。
所以...
课程表 课程编号 标题 摘要旁白MemoId 课前信息备忘
MemoToString 表 备忘录 ID 备忘录数据(二进制)
因此,出于不同的原因,课程表两次加入到备忘录表中。
我查看了两次使用同一个表的 EF 继承路由,使用 Memo 表作为基础,并创建 PreCourseMemo 和 SummaryNarrationMemo,但这会在构建时引发这些错误:
我更新了模型以将两个表添加到模型中。
错误 3005:从第 613 行开始映射片段时出现问题:必须为 Set MemoToStringTables 中的所有类型指定映射。 在以下情况下,具有密钥 (PK) 的实体将不会往返: 实体类型为 [MyModel.MemoToStringTable]
错误 3005:从第 613 行开始映射片段时出现问题:必须为 Set MemoToStringTables 中的所有类型指定映射。 在以下情况下,具有密钥 (PK) 的实体将不会往返: 实体类型为 [MyModel.PreCourseMemo]
错误 3005:从第 613 行开始映射片段时出现问题:必须为 Set MemoToStringTables 中的所有类型指定映射。 在以下情况下,具有密钥 (PK) 的实体将不会往返: 实体类型为 [MyModel.SummaryNarrationMemo]
我知道我可以为数据库上的每个视图创建一个视图,但感觉不对。 :( 有什么想法吗?
【问题讨论】:
标签: c# entity-framework entity-framework-4