Sobes.tech
Junior — Middle

Hogyan valósítható meg egy egy az egyben kapcsolat két entitás között?

sobes.tech MI

Válasz az MI-től

Отношение один к одному между двумя сущностями в C# обычно реализуется через навигационные свойства и ключи. Например, если есть классы Person и Passport, где у каждого человека один паспорт, можно сделать так:

public class Person
{
    public int Id { get; set; }
    public string Name { get; set; }

    public Passport Passport { get; set; }
}

public class Passport
{
    public int Id { get; set; }
    public string Number { get; set; }

    public int PersonId { get; set; }  // внешний ключ
    public Person Person { get; set; }
}

В базе данных поле PersonId в таблице Passport будет уникальным и ссылаться на Person. В Entity Framework можно дополнительно настроить это отношение через Fluent API, чтобы указать, что это именно один к одному.

Таким образом, каждая сущность содержит ссылку на другую, и связь обеспечивается внешним ключом с ограничением уникальности.