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);
Дополнительные параметры доступны здесь.