از InverseProperty استفاده کنید
یعنی توی مدل User دوتا کالکشن تعریف کنید بدین صورت
[InverseProperty("Source")]
public virtual ICollection<TravelRequestDetail> SourceTravelRequestDetails { get; set; }
[InverseProperty("Destination")]
public virtual ICollection<TravelRequestDetail> DestTravelRequestDetails { get; set; }
و توی جدولی که میخاید کلید های خارجی User استفاده کنید
[ForeignKey("SourceId")]
public virtual Area Source { get; set; }//مبدا
public virtual int SourceId { get; set; }
[ForeignKey("DestId")]
public virtual Area Destination { get; set; }//مقصد
public virtual int DestId { get; set; }
فقط دقت کنید نام navigation property هاتون در کلاس غیر User همنام با نامی که در اتربیوت Inverseproperty دادین باشه مثل زیر
[InverseProperty("Source")]
public virtual Area Source { get; set; }//مبدا