7

我有一张Holiday桌子和一张User桌子。

Holiday表有列RequesterIDAuthorisedByID,它们都链接到User表的主键。

这是我的Holiday模型:

public class Holiday
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public Guid HolidayId { get; set; }

    [ForeignKey("UserId")]
    public virtual User User { get; set; }
    public Guid RequesterId { get; set; }

    public Guid? AuthorisedById { get; set; }
}

我无法AuthorisedByID在 User 表中声明为外键,就像我对RequesterId列所做的那样。

我想知道你是否可以给我一些关于如何解决的提示。

谢谢。

4

1 回答 1

9

Code first 无法自行匹配两个类中的属性。

要解决这些问题,您可以使用 InverseProperty 注释来指定属性的对齐方式。

[ForeignKey("RequesterUser")]
public Guid RequesterId { get; set; }

[ForeignKey("AuthorisedUser")]
public Guid AuthorisedById { get; set; }

[InverseProperty("RequesterHoliday")]
public virtual User RequesterUser{ get; set; }

[InverseProperty("AuthorisedHoliday")]
public virtual User AuthorisedUser{ get; set; }

public List<Holiday> RequesterHoliday { get; set; }
public List<Holiday> AuthorisedHoliday{ get; set; }
于 2013-11-08T17:37:00.927 回答