0

在 Visual Studio .net 中进行逆向工程时映射关系时遇到问题

我使用继承:

public class Quiz : Component  
{
    public QuizQuestion rootQuestion { get; set; }
    public override String getType() { return "quiz"; }
}

属性“rootQuestion”未在母类中指定,它仅存在于子类中

“测验”在我的 sqlserver 数据库中不作为表存在(只有 QuizQuestions 和 Component 表存在于数据库中,(我的老师告诉我为这个项目的 java 部分这样做)。但我想要子类测验在我的数据库中有一个属性 rootQuestion 引用 quizRootQuestion 所以这就是我所做的:

public class QuizMapper : EntityTypeConfiguration<Quiz>        
{
    public QuizMapper()               
    {
        this.HasKey(t => t.ComponentID);
        this.HasOptional(c => c.rootQuestion)
            .WithMany().Map(m => m.MapKey("quizRootQuestionID"));     

    }
}

public class QuizQuestionMap : EntityTypeConfiguration<QuizQuestion>
{
    public QuizQuestionMap()
    {
        // Properties
        // Table & Column Mappings
        this.HasKey(t => t.QuestionID);
        this.ToTable("QuizQuestions");
        this.Property(t => t.QuestionID).HasColumnName("questionID");
    }
}

当我尝试在浏览器中运行时出现此错误:
列名“rootQuestion_QuestionID”无效。

我的数据库中的表:

组件:
componentId
quizRootQuestionID
TypeId(=discriminator)

测验
问题
问题ID问题

有人可以告诉我我做错了什么吗?

4

0 回答 0