当前位置:编程学习 > C#/ASP.NET >>

EF多表继承的疑问

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)。

怎么办?????????????????
--------------------编程问答-------------------- 日一下 --------------------编程问答-------------------- 我也来日一下 --------------------编程问答-------------------- 顶一个DE --------------------编程问答-------------------- 帮搂住顶一下~~ --------------------编程问答-------------------- 自行顶顶 --------------------编程问答-------------------- 遇到同样的问题,跪求指点啊
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,