我在网上搜索了很多次,也在聊天中问了很多问题,但我找不到答案.当我运行add-migration
时出现错误:
无法从实体类型""DataLayer.Models.QuizModel(Dictionary<;String,Object&>)""中删除属性""quizType"",因为它正被用于""DataLayer.Models.QuizModel(Dictionary<;字符串,Object&>)""的外键""quizType"".""必须先移除或重新定义包含外键的所有内容,然后才能移除该属性.
但我没有删除任何东西,我认为错误是错误的.这是我的测验环境和我的模型:
namespace DataLayer.Models
{
public class QuizType
{
[Key]
[Required]
public int quizType { get; set; }
[MaxLength(150)]
public string QuizTitle { get; set; }
public QuizModel quizModel { get; set; }
}
}
UserModel
:
namespace DataLayer.Models
{
public class UserModel
{
[Key]
[Required]
public int UserID { get; set; }
[Required]
[MaxLength(300)]
public string UserName { get; set; }
[Required]
[MaxLength(300)]
public string Password { get; set; }
[AllowNull]
[MaxLength(150)]
public string Role { get; set; }
public ICollection<QuizModel> quizes { get; set; }
}
}
QuizModel
:
namespace DataLayer.Models
{
public class QuizModel
{
[Key]
[Required]
public int QuizID { get; set; }
[Required]
[MaxLength(150)]
public string QuizName { get; set; }
[Required]
[MaxLength(300)]
public string Categories { get; set; }
[Required]
public int QuestionCount { get; set; }
[Required]
public int QuizType { get; set; }
[ForeignKey("QuizType")]
public QuizType quizType { get; set; }
[Required]
[ForeignKey("User")]
public int UserID { get; set; }
public UserModel User { get; set; }
public ICollection<QuestionModel> Questions { get; set; }
}
}
QuestionModel
:
namespace DataLayer.Models
{
public class QuestionModel
{
[Key]
[Required]
public int QuestionID { get; set; }
[Required]
[MaxLength(400)]
public string QuestionText { get; set; }
[Required]
public int QuizType{ get; set; }
[ForeignKey(name:"quiz")]
public int QuizID { get; set; }
public QuizModel quiz { get; set; }
public AnswerModel Answer { get; set; }
public ICollection<AnswerOption> Oprtions { get; set; }
}
}
AnswerModel
班和AnswerOption
班:
namespace DataLayer.Models
{
public class AnswerModel
{
[Key]
[Required]
public int AnswerID { get; set; }
[Required]
[MaxLength(300)]
public string Answertxt { get; set; }
[Required]
[ForeignKey(name: "Question")]
public int QuestionID { get; set; }
public QuestionModel Question { get; set; }
[Required]
public bool AnswerValidation { get; set; }
}
public class AnswerOption
{
[Key]
[Required]
public int OptionID { get; set; }
[Required]
[MaxLength(300)]
public string Optiontxt { get; set; }
[Required]
public bool answerValidation { get; set; }
[Required]
[ForeignKey(name: "questionModel")]
public int QuestionID { get; set; }
public QuestionModel questionModel { get; set; }
}
}