我有一个包含子类的数据类。它们像这样在DbContext
中使用:
public class Foo
{
[Key]
public int Key { get; set; }
public SubFoo SubFoo { get; set; }
}
[ComplexType]
public class SubFoo
{
public double Value1 { get; set; }
public double Value2 { get; set; }
}
public class ApplicationDbContext : DbContext
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options) {
}
public DbSet<Foo> Foos { get; set; }
}
尝试创建代码优先迁移时,出现错误
实体类型“ SubFoo”要求定义主键
由于我的班级SubFoo
用属性ComplexType
装饰,并且MSDN documentation准确地指出复杂类型没有键,我有点困惑。
与mentioned here一样,我尝试用ComplexType
属性替换Owned
注释,但不能解决问题。
我误会了如何利用复杂类型?
答案 0 :(得分:0)
最重要的是,经过长时间的研究,执行代码优先迁移时,EF Core中尚不支持ComplexType。