【发布时间】:2019-01-10 13:25:36
【问题描述】:
我在尝试使用 EntityFramework Core 创建数据库时遇到了这个问题:
无法映射属性“Rating.RatingScores”,因为它属于“列表”类型,不是受支持的原始类型或有效的实体类型。显式映射此属性,或使用“[NotMapped]”属性或使用“OnModelCreating”中的“EntityTypeBuilder.Ignore”忽略它。
这是课程:
public class Rating
{
public int Id { get; set; }
public List<decimal> RatingScores { get; set; }
public decimal Score
{
set => Score = value;
get => Math.Round(RatingScores.Sum() / RatingScores.Count, 1);
}
}
【问题讨论】:
-
如错误消息所示,尝试使用
[NotMapped],因为这看起来不像您存储在数据库中的内容。如果要将值存储在数据库中,请为新表创建一个新类,然后进行相应的映射 (stackoverflow.com/a/30202171/1073631)。