首页 > 解决方案 > dotnet ef core 中的同一个导航属性是否可以有两个主键?

问题描述

我有一个用例,我想在导航属性上加入两个主键和相同的外键。

这样的事情可能吗?我尝试了以下流畅的配置,但它只对最后添加的主键employeeId 进行左连接,看起来像 .HasPrincipalKey(u => u.ManagerEID) 行被覆盖。

builder.Entity<AppUser>()
  .HasMany(u => u.TeamRoles)
  .WithOne()
  .HasForeignKey(r => r.ManagerEID)
  .HasPrincipalKey(u => u.ManagerEID)
  .HasPrincipalKey(u => u.EmployeeId);

有什么方法可以实现这一点,或者必须创建第二个导航集合或单独执行 SQL 查询?

标签: entity-frameworkentity-framework-core

解决方案


推荐阅读