EF Core Code First Migration требует первичного ключа для сложного типа - PullRequest
0 голосов
/ 02 октября 2019

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

Я неправильно понимаю, как использовать сложные типы?

1 Ответ

0 голосов
/ 11 октября 2019

В итоге, после долгого исследования, ComplexType еще не поддерживаются в EF Core при выполнении Code First Migration.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...