C# LINQ via LinqPad-尝试从一个实体链接到2个FK,但仅显示一个
我有以下两个表结构:C# LINQ via LinqPad-尝试从一个实体链接到2个FK,但仅显示一个,c#,linq,entity-framework,linqpad,C#,Linq,Entity Framework,Linqpad,我有以下两个表结构: CREATE TABLE Project ( ProjectId INT NOT NULL PRIMARY KEY, ProjectOwnerId INT NOT NULL, SupervisorId INT NULL, ... other attributes ... CONSTRAINT [FK_ProjectOwner FOREIGN KEY (EmployeeId) REFERENCES Employee (EmployeeId),
CREATE TABLE Project
(
ProjectId INT NOT NULL PRIMARY KEY,
ProjectOwnerId INT NOT NULL,
SupervisorId INT NULL,
... other attributes ...
CONSTRAINT [FK_ProjectOwner FOREIGN KEY (EmployeeId) REFERENCES Employee (EmployeeId),
CONSTRAINT FK_Supervisor FOREIGN KEY (EmployeeId) REFERENCES Employee (EmployeeId)
)
当我首先使用代码对这些表进行反向工程并尝试通过LinqPad查询它时,我不知道如何查询第二个EmployeeId,即
林帕德:
Projects.Include(p => p.Employee)
但我得到的是以下结果:
ProjectId | ProjectOwnerId | SupervisorId | Employee
---------- -------------- ------------ --------
100 101 52 Employee (hyperlink)
200 122 52 Employee (hyperlink)
当我尝试通过应用程序绑定结果时:
Project | ProjectOwner | Supervisor
------- -------------- ------------
Proj 1 John Smith John Smith
Proj 2 Foo Bar Foo Bar
似乎我只能导航到上面的Employee第4列,该列链接到ProjectOwnerId,而不是SupervisorId,因此我只看到ProjectOwners的名称。我知道ProjectOwnerId和SupervisorId是不同的,所以我应该看到不同的名称。请同时显示映射。
Project | ProjectOwner | Supervisor
------- -------------- ------------
Proj 1 John Smith John Smith
Proj 2 Foo Bar Foo Bar