Entity Framework 名称不匹配时的外键
Entity Framework foreign key when name doesn't match
我有一个名为 AccountValues
的 table,我想从我的 Account
table 中引用它。但是,我不想使用 AccountValuesId
和 AccountValues
,而是希望通过在 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; }
我有一个名为 AccountValues
的 table,我想从我的 Account
table 中引用它。但是,我不想使用 AccountValuesId
和 AccountValues
,而是希望通过在 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; }