【问题标题】:Many Relations Between 2 tables - Code First两个表之间的许多关系 - 代码优先
【发布时间】:2021-11-05 08:42:54
【问题描述】:

我正在建立 2 个表之间的关系(代码优先 [实体框架])。但我有以下问题:

Employees 表保存了不同职位的员工(工程师、技术员、销售员等)。

在表项目中,我与表员工有3个关系

  1. 经理 = 工程师职位的员工
  2. 技术员 = 拥有技术员职位的员工
  3. 销售员 (EmployeeId) = 担任销售员职位的员工

是否可以使用 EntityFrameWork 在两个表之间创建多个关系,或者我是否需要这样做(我不确定)。

但是,我要为与员工相关的职位创建一个表。

【问题讨论】:

  • 这可能是一个很好的阅读stackoverflow.com/a/63070166/2310830
  • 对不起,我先看不到任何代码。请展示你到目前为止所做的事情。
  • 我正在使用实体框架构建数据库。我知道如何在表之间构建外键(1 -1),但你如何看待我在同一个表中有 3 个关系(第二张图片)。是否可推荐在 2 个表之间建立 3 个关系或制作该次要表?这个问题与范式更相关

标签: mysql sql entity-framework


【解决方案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);

【讨论】:

  • 感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-11-21
  • 1970-01-01
  • 1970-01-01
  • 2019-09-17
  • 2015-09-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多