Код Первое свойство навигации 1 к 1 Связь с двумя внешними ключами

У меня есть следующие классы:

public class ParticipantAssignment
{ [Key] public int ParticipantId { get; set; } public int WorksitePositionId { get; set; } public int WorksiteId { get; set; } public int EmployerId { get; set; } public int ProgramId { get; set; } public int UserId { get; set; } public DateTime AssignDateTime { get; set; } [Not Sure What Attribute to Use Here to Create the Relationship] public ProgramWorksite ProgramWorksite { get; set; } ... removed ...
}
public class ProgramWorksite
{ [Key, Column(Order = 1)] public int WorksiteId { get; set; } [Key, Column(Order = 2)] public int ProgramId { get; set; } ... removed ...
}

Существует 1 к 1 отношения между MemberantAssignment и ProgramWorksite.

Я хотел бы быть в состоянии связать ProgramWorksite свойства навигации в ParticipantAssignment классе в ProgramWorksite класс.

Однако, если вы заметили, связь будет основана на двух полях в обоих классах: WorksiteId и ProgramId - не совсем уверен, как это сделать.

Одно замечание...

Код выше APPEARS должен работать, но я не уверен, что он действительно использует "ProgramId" в отношениях, так как отношения могут быть сделаны только с WorksiteId - он предоставит запись, однако это будет неточно без факторинг в ProgramId

1 ответ

ИТАК - я был в состоянии профилировать SQL генерируется с помощью Glimpse, и кажется, что с текущей установки над ним правильно используя как ProgramId и WorksiteId в соединении.

licensed under cc by-sa 3.0 with attribution.