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)。
怎么办?????????????????