use*_*442 2 .net c# entity-framework ef-code-first ef-migrations
我首先使用实体框架代码并添加了一个类,该类具有类的列表,其中类还必须具有另一个类列表,但是当我尝试通过迁移对数据库进行更新时,我得到:
SubscaleScore类型属性"SubscaleStatistics"上的ForeignKeyAttribute无效.在依赖类型"SubscaleScore"上找不到外键名称"SubscaleStatisticsId".Name值应该是以逗号分隔的外键属性名称列表.
这是我的课程的样子:
public class ExamStatistics : StatisticsData
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
[Required]
public int TestId { get; set; }
public IList<SubscaleStatistics> Subscales { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
public class SubscaleStatistics
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int SubscaleStatisticsId { get; set; }
public int TestId { get; set; }
public int SubscaleNumber { get; set; }
public int ExamStatisticsId { get; set; }
[ForeignKey("ExamStatisticsId")]
public virtual ExamStatistics ExamStatistics { get; set; }
public IList<SubscaleScore> SubscaleScores { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
public class SubscaleScore
{
public int TestId { get; set; }
public int Subscale { get; set; }
public double Score { get; set; }
public int SubscaleId { get; set; }
[ForeignKey("SubscaleStatisticsId")]
public virtual SubscaleStatistics SubscaleStatistics { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我在这做错了什么?或者我是否需要提供更多信息以解决问题?
您需要向SubscaleScore添加外键属性.
public int SubscaleStatisticsId { get; set; }
Run Code Online (Sandbox Code Playgroud)
看到这里的教程:外键
| 归档时间: |
|
| 查看次数: |
5955 次 |
| 最近记录: |