簡體   English   中英

具有許多自引用關系的 EF Core 3.1 Code First Table

[英]EF Core 3.1 Code First Table with many self referencing relation

我沒有找到這個問題的 EF Core 解決方案,我只找到了舊的 EF 版本,而不是 CORE。

我有以下情況:

公司有一張員工表。

int EmployeeID
字符串名字
字符串姓氏

現在,每個員工也可以是經理或助理或......當然,經理也只是一名員工。 一個員工有一個或多個經理,一個經理可以有一個助理,但一個助理可以屬於多個經理。 大多數員工不會有助理。

現在的問題是,在 EF Core 中,處理此問題的最佳方法是什么? 請記住,一名員工可以擁有多個經理,一名助理可以屬於多個經理。 那么這可以先在一個表中編碼,還是您必須拆分它?

例如:Employee表,我們添加:
虛擬列表助手虛擬列表管理器

當我對此進行測試時,它顯然不起作用,您只是在互聯網上找不到很多關於此的好信息...我想這只是 go 不多的東西,只是嘗試拆分為可能的? 就像制作 Employee 表一樣,Manager 表在其中鏈接 ManagerId 以匹配 EmployeeId 並制作像 EmployeeManager 這樣的連接表。
只是想知道在一個帶有某些注釋的表中是否仍然可能。

我想知道如果您首先將 go 用於 DB,將如何做到這一點...

感謝您深入了解 EF Core 的世界!

好的,我實際上是先在 DB 中嘗試過,所以我可以從逆向工程師那里學習到普通的 POCO

這是 slq 查詢:

創建表員工(EmployeeId INT NOT NULL,SurName NVARCHAR(100),GivenName NVARCHAR(100),EmailAddress VARCHAR(254),ContractType CHAR(1),LeaveTimeRemaining DECIMAL(4,2),LeaveTimeTaken DECIMAL(4,2),主要鍵(員工ID));

CREATE TABLE ApproverEmployee ( ApproverId INT REFERENCES Employees(EmployeeId), EmployeeId INT REFERENCES Employees(EmployeeId), CONSTRAINT FK_ApproverEmployee PRIMARY KEY (ApproverId,EmployeeId) );

CREATE TABLE ApproverAssistant ( AssistantId INT REFERENCES 員工(EmployeeId), ApproverId INT REFERENCES 員工(EmployeeId), CONSTRAINT FK_ApproverAssistant PRIMARY KEY (ApproverId,AssistantId) );

創建表EmployeeRecords(EmployeeRecordId INT NOT NULL IDENTITY(1,1)主鍵,EmployeeId INT,RecordMessage NVARCHAR(254),RecordModifiedDate SMALLDATETIME,RecordModifiedById INT,外鍵(EmployeeId)參考Employees(EmployeeId)FOREIGNER(員工RecordModKeyId), (員工ID) );

這樣我保存了表格,因為審批者和助理的信息在員工表中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM