两个表之间的许多关系 - 代码优先
Posted
技术标签:
【中文标题】两个表之间的许多关系 - 代码优先【英文标题】:Many Relations Between 2 tables - Code First 【发布时间】:2021-11-05 08:42:54 【问题描述】:我正在建立 2 个表之间的关系(代码优先 [实体框架])。但我有以下问题:
Employees 表保存了不同职位的员工(工程师、技术员、销售员等)。
在表项目中,我与表员工有3个关系:
-
经理 = 工程师职位的员工
技术员 = 拥有技术员职位的员工
销售员 (EmployeeId) = 担任销售员职位的员工
是否可以使用 EntityFrameWork 在两个表之间创建多个关系,或者我是否需要这样做(我不确定)。
但是,我要为与员工相关的职位创建一个表。
【问题讨论】:
这可能是一个很好的阅读***.com/a/63070166/2310830 对不起,我先看不到任何代码。请展示你到目前为止所做的事情。 我正在使用实体框架构建数据库。我知道如何在表之间构建外键(1 -1),但你如何看待我在同一个表中有 3 个关系(第二张图片)。是否可推荐在 2 个表之间建立 3 个关系或制作该次要表?这个问题与范式更相关 【参考方案1】:如果您的项目表中有 3 个 Fk...您可以使用 fluent api 设置 3 个 Fk...
modelBuilder.Entity<product>()
.HasOne<employees>(s => s.Eng)
.WithMany(g => g.progectEng)
.HasForeignKey(s => s.ProjectEngFK);
modelBuilder.Entity<product>()
.HasOne<employees>(s => s.Tech)
.WithMany(g => g.progectTech)
.HasForeignKey(s => s.ProjectTechFK);
【讨论】:
感谢您的帮助!以上是关于两个表之间的许多关系 - 代码优先的主要内容,如果未能解决你的问题,请参考以下文章