[英]EF7 Code First - Property cannot exist on entity type 'object' when generating migration
尝试通过从命令行执行来创建我的EF7 Code First数据库的初始迁移时:
dnx ef migrations add Initial
我收到错误:
System.InvalidOperationException:属性'ExerciseTemplateId'不能存在于实体类型'object'上,因为该属性未标记为阴影状态,并且基础类型上不存在相应的CLR属性。 完整的堆栈跟踪
有任何想法吗?
由于某些原因,EF7似乎不喜欢我的模型的主键属性ExerciseTemplateId :
public class ExerciseTemplate
{
public int ExerciseTemplateId { get; set; }
public string InitalCode { get; set; }
public string ClassName { get; set; }
public string MainMethodName { get; set; }
public int ExerciseForeignKey { get; set; }
public Exercise Exercise { get; set; }
}
ExerciseTemplate模型中唯一有趣的部分是与Exercise模型的一对一关系:
public class Exercise
{
public int ExerciseId { get; set; }
public string Name { get; set; }
public string Guidance { get; set; }
public ExerciseTemplate Template { get; set; }
public List<ExerciseCategory> Categories { get; set; }
public List<Test> Tests { get; set; }
}
这个问题已经很长了,所以我的DBContext在此DBContext要点中
可以在此模型和上下文摘要中找到所有模型和数据库上下文
长话短说:不要在模型类中使用object
或Type
作为属性类型。 它在数据库中没有表示形式。
如果绝对需要存储任意对象,则可以使用一些序列化程序,并将序列化的对象存储为BLOB在数据库中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.