"The property is not supported by current database provider"
"The property is not supported by current database provider"
我遇到了类似的错误:
但问题略有不同:
我有以下 classes:
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 中 class:
modelBuilder.Entity<Apple>()
.HasKey(a=> new { a.Box, a.R, a.G, a.B });
但它似乎不起作用并给我错误消息:“属性 'Apple.Box' 的类型 'Box' 不受当前数据库提供程序支持。要么更改属性 CLR 类型或使用“[NotMapped]”属性或使用 'OnModelCreating'
中的 'EntityTypeBuilder.Ignore' 忽略 属性
键必须是数据库类型而不是 CLR 类型。可以将 CLR 类型作为属性,只要它们不是键即可。
我遇到了类似的错误:
但问题略有不同:
我有以下 classes:
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 中 class:
modelBuilder.Entity<Apple>()
.HasKey(a=> new { a.Box, a.R, a.G, a.B });
但它似乎不起作用并给我错误消息:“属性 'Apple.Box' 的类型 'Box' 不受当前数据库提供程序支持。要么更改属性 CLR 类型或使用“[NotMapped]”属性或使用 'OnModelCreating'
中的 'EntityTypeBuilder.Ignore' 忽略 属性键必须是数据库类型而不是 CLR 类型。可以将 CLR 类型作为属性,只要它们不是键即可。