Entity Framework Свободный интерфейс Api - внешний ключ

Я хотел бы установить связь между двумя правами.

У меня есть Entity_1 и Entity_2 с отношением один ко многим (один Entity_1 может иметь несколько Entity_2).

Итак, у меня есть свои сущности: сущность

    class Entity_1
    {    
        public int Id { get; set; }
        public int Entity_2Id{ get; set; }
        public virtual Entity_2 Entity_2{ get; set; } 
    }

    class Entity_2
    {    
        public int Id { get; set; }
        public int Entity_2Id{ get; set; }
        public virtual ICollection<Entity_1> Entity_1s{ get; set; }
    }

Как я могу установить соединение, что у меня есть внешний ключ (Entity_1) в Entity 2?

1 ответ

Решение

один Entity_1 может иметь несколько Entity_2

Это означает, что Entity_1 (опционально) имеет коллекцию Entity_2, а также Entity_2 (опционально) имеет ссылку на Entity_1:

class Entity_1
{    
    public int Id { get; set; }
    public virtual ICollection<Entity_2> Entity_2s{ get; set; }
}

class Entity_2
{    
    public int Id { get; set; }
    public int Entity_1Id { get; set; }
    public virtual Entity_1 Entity_1 { get; set; }
}

в то время как ваши сущности неверны. Свободный API для кода выше:

HasRequired(_ => _.Entity_1)
    .WithMany(_ => _.Entity_2s)
    .HasForeignKey(_ => _.Entity_1Id);

Дополнительные параметры доступны здесь.

Другие вопросы по тегам