У меня ошибка, похожая на: Свойство X имеет тип Y, который не поддерживается текущим поставщиком базы данных
, но имеет немного другую проблему:
У меня есть следующие классы:
public class Apple
{
public Box Box{ get; set; }
public int R { get => Color.R; set => Color = new Color (value, Color.G, Color.B); }
public int G { get => Color.G set => Color = new Color (Color.R, value, Color.B); }
public int B { get => Color.B set => Color = new Color (Color.R, Color.G, value); }
[NotMapped]
public Color Color { get; set; }
}
public class Box
{
[Key]
public int ID { get; set; }
public IEnumerable<Apple> Apples { get; set; }
}
В классе DbContext:
modelBuilder.Entity<Apple>()
.HasKey(a=> new { a.Box, a.R, a.G, a.B });
Но, похоже, он не работает и выдает ошибку: «Свойство» Apple. Box »имеет тип« Box », который не поддерживается текущим поставщиком базы данных. Либо измените тип свойства CLR, либо игнорируйте свойство с помощью атрибута« [NotMapped] »или с помощью« EntityTypeBuilder.Ignore »в« OnModelCreating »