EF多表继承的疑问

DreamingEric 2008-08-26 04:08:24
EF是指ADO.NET Entity Framework

数据库里两个表:Person,Student

CREATE TABLE [dbo].[Person](
[PersonID] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](50) NULL,
[Sex] [nvarchar](50) NULL,
[Role] [nvarchar](50) NULL,
)

CREATE TABLE [dbo].[Student](
[StudentID] [int] IDENTITY(1,1) NOT NULL,
[PersonID_FK] [int] NOT NULL,
[ClassID_FK] [int] NOT NULL,
[Title] [nvarchar](50) NULL,
)

其中PersonID和StudentID是主键,[Student].[PersonID_FK]是外键

那么,我在EF里。要实现Student继承Person该怎样做?
以下是我设计器里的情况:

但提示错误:从第 147 行开始的映射片段出现问题: 必须为 EntitySet Person 的所有键属性(Person.PersonID)指定映射。

然后我又改了一下Student实体的映射:

结果又是错误:
错误 1 错误 3002: 从第 147 行开始的映射片段出现问题: 表 Student 的键(Student.StudentID)具有潜在运行时冲突: 列(Student.StudentID)映射到概念端 EntitySet Person 的属性(Person.StudentID),但是它们未形成 EntitySet 的键属性(Person.PersonID)。

错误 2 错误 3003: 从第 147 行开始的映射片段出现问题: EntitySet Person 的所有键属性(Person.PersonID)必须映射到表 Student 的所有键属性(Student.StudentID)。

怎么办?????????????????
...全文
434 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
fangyuantdy 2011-11-03
  • 打赏
  • 举报
回复
遇到同样的问题,跪求指点啊
DreamingEric 2008-08-27
  • 打赏
  • 举报
回复
自行顶顶
kbryant 2008-08-26
  • 打赏
  • 举报
回复
帮搂住顶一下~~
yzqmars 2008-08-26
  • 打赏
  • 举报
回复
顶一个DE
tdesheng 2008-08-26
  • 打赏
  • 举报
回复
我也来日一下
「已注销」 2008-08-26
  • 打赏
  • 举报
回复
日一下

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧