我在一个表中有多个字段引用一个表的主键:
当我在 EF 中导入此结构时,它分别将 CurrencyCountry 和 MobileCarrierCountry 的导航属性搭建为 Country1 和 Country2,尽管我对数据库中的外键使用了正确的命名约定,如 FK_User_Country_CurrencyCountry 和 FK_User_Country_MobileCarrierCountry。
我尝试将外键命名为 FK_User_CurrencyCountry 和 FK_User_MobileCarrierCountry,但它仍然只生成 Country1 和 Country2。
一个解决方案是在
edmx
文件中手动重命名导航属性,但我不知道这是否有效——在我将导航属性重命名为我想要的内容后,删除了一个模型并重新生成,以检查是否用户表的导航属性恢复为默认值,但事实并非如此。
我遇到过同样的事情。我只是重命名了 edmx 文件中的属性,从来没有遇到过问题。
我不知道 FK 的名称会影响导航属性的名称。我有时会给 FK 一个“非标准”名称,但我从未见过 nav 属性有除目标表之外的任何其他名称(在需要时加上序列号以使名称唯一)。