Entity Framework 名称不匹配时的外键

Entity Framework foreign key when name doesn't match

我有一个名为 AccountValues 的 table,我想从我的 Account table 中引用它。但是,我不想使用 AccountValuesIdAccountValues,而是希望通过在 MostRecent_ 前面加上如下描述来更具描述性:

[ForeignKey("AccountValues")]
public long MostRecent_AccountValuesId { get; set; }
public AccountValues MostRecent_AccountValues { get; set; }

我的问题是我应该把我的 ForeignKey 属性放在哪里,这样我才能得到一个实际的外键(例如 FK_Something)并且 MostRecent_AccountValues 会自动工作?

注意:我的惯例是不使用复数 table 名称。但是这里 AccountValues 是复数只是因为每一行都有许多不同的值。

问题出在您在 public long MostRecent_AccountValuesId 属性 上的 ForeignKey 名称中。 ForeignKey 名称应与导航 属性 名称匹配,如下所示:

[ForeignKey("MostRecent_AccountValues")] // <-- Here it is
public long MostRecent_AccountValuesId { get; set; }
public AccountValues MostRecent_AccountValues { get; set; }