Свойство Entity1.Entity2 имеет тип Entity2, который не поддерживается текущим поставщиком базы данных. - PullRequest
0 голосов
/ 01 декабря 2019

Я пытаюсь создать начальную миграцию с кодом в первую очередь. У меня есть 2 класса сущностей следующим образом:

public class Entity1
{
    public string Id { get; set; }
}

public class Entity2
{
    public Entity1 Entity1 { get; set; }

    public int Order { get; set; }
}

И мой DbContext следующим образом:

public class AppDbContext : DbContext
{
    public DbSet<Entity1> Entity1List { get; set; }
    public DbSet<Entity2> Entity2List { get; set; }

    public AppDbContext(DbContextOptions options) : base(options)
    {

    }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);

        modelBuilder
            .Entity<Entity2>()
            .HasKey(c => new { c.Entity1, c.Order });
    }
}

Когда я пытаюсь создать миграцию, используя

add-migration InitialMigration

Iполучаю сообщение об ошибке;

1011 *

1 Ответ

1 голос
/ 02 декабря 2019

Может быть, вы пытаетесь сделать Entity1 «ы первичного ключа, чтобы быть частью * * 1002» составного первичного ключа s. Так что ваши Entity2 должно выглядеть следующим образом:

public class Entity2
{
    public string Entity1Id { get; set; }
    public int Order { get; set; }

    public Entity1 Entity1 { get; set; }
}

Тогда в OnModelCreating следующим образом:

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