【发布时间】:2018-11-05 00:14:03
【问题描述】:
大家好,
我计划为我的公司更改当前的后端。我打算用asp.net core 和ef core 创建新的Web 服务。老实说,我被架构困住了。
我不知道应该如何实现实体框架表之间的关系。员工职位不止一个。而且我不想为这个架构实现角色层。所以我创建了这样的表格:Employees、Cashiers、Packers、...等。然后将它们设计成这样:Employees (EmployeeId, EmployeeName, ...) Cashiers (EmployeeId, Fee, ...)
但是我在某处读过没有办法在 sql 中使用 1 对 1 关系。那么如何实现这种关系呢?
ER图: Entity Relationships
【问题讨论】:
-
SQL 中的一对一关系没有错。为什么这么说?
-
@TheImpaler 我在这里读过它stackoverflow.com/questions/10292355/… 我的意思是我很困惑。
-
您创建的单独表格似乎没有添加特殊属性。如果这是您需要的数据,您可以简单地将单个表
Employee与属性Fee和属性Position映射到enum或 FK 到另一个描述位置的表。 -
@IvanStoev 首先感谢您的帮助。我打算使用映射枚举方式。这只是问我问题的代表性数据。实际上,我已将它们分成表格,因为系统上的所有员工都将访问面板,并且可以访问对另一个人的操作进行的更改。我认为控制这些逻辑会容易得多,而不是为所有员工职位实现整个角色逻辑。
-
Google SO re 数据库/sql 子类型/层次结构/多态性。 PS请不要通过cmets澄清,编辑你的帖子。请use text, not images/links, for text (including code, tables & ERDs)。使用图像仅是为了方便补充文本和/或无法在文本中给出的内容。如果您有代表,请使用编辑功能内联,而不是链接 - 使您的帖子独立。永远不要给出没有图例/键的图表。
标签: sql asp.net database relational-database entity-framework-core