Назад к вопросам
Junior — Middle
67
Каким образом можно реализовать отношение один к одному между двумя сущностями?
Ответ от нейросети
sobes.tech AI
Отношение один к одному между двумя сущностями в 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, чтобы указать, что это именно один к одному.
Таким образом, каждая сущность содержит ссылку на другую, и связь обеспечивается внешним ключом с ограничением уникальности.