我的问题是EF6 Does not generate foreign key association from database的后续问题,但这个答案不足以解决我的问题。我正在使用VS 2013更新4 / EF 6 / SQL Server 2014。
在我的情况下,用户代表Linux帐户并具有以下结构:
其中Accounts.Username和Groups.Name是主键,并且Accounts.UID和Groups.GID上有唯一索引。这些通过GroupMembership表相关联。 EF创建:
没有关联。有趣的是,当我更改主键时:
这样,Accounts.UID和Groups.GID成为主键,Accounts.Username和Groups.Name具有唯一索引,然后我得到:
似乎只为主键创建了许多关联。如果我尝试在设计器中手动创建一个,它将不会使用我的GroupMembership表,而且我不知道可以过去挖掘它。
当然,我可以通过使用更新的架构来解决我的问题,但我正在努力提高我的EF技能。
答案 0 :(得分:0)
如果EF不使用varchar列来获取密钥,那就不会让我感到惊讶......