Junior — Middle
Kako implementirati odnos jedan na jedan između dve entiteta?
sobes.tech АИ
Одговор од АИ
Отношение один к одному между двумя сущностями в 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, чтобы указать, что это именно один к одному.
Таким образом, каждая сущность содержит ссылку на другую, и связь обеспечивается внешним ключом с ограничением уникальности.