У меня есть класс данных, который содержит подкласс. Они используются в 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 точно указано, что сложные типы неесть ключи , я немного запутался.
Поскольку упоминается здесь , я попытался заменить аннотацию ComplexType
атрибутом Owned
, но это не помоглопроблема.
Я неправильно понимаю, как использовать сложные типы?