【发布时间】:2012-07-24 06:19:33
【问题描述】:
更新: 公司可以有多个项目,公司也可以有员工。一个员工只能拥有一个公司,一个项目也只能拥有一个公司。 一个项目有几个任务。 在这些任务中,员工只会被分配到其中的一些任务。
员工只能被分配到他/她被分配到的项目的任务。
请查看以下内容并帮助我了解如何创建数据库设计和最终实体模型 基于两个 cmets 的更新图: 如果此 ER 图看起来不错,请您提供有关如何创建 EF 4.1 实体类的指导,尤其是对于 EmployeeProjectTasks 表。 我是 EF 4.1 Code First 的新手,想了解创建这些类的方向
如果此 ER 图看起来不正确,请建议修改。
【问题讨论】:
-
对你来说,一个任务可以存在而不被分配到一个项目吗?
-
@catcall 不,任务始终与项目相关联。实际上,EmployeeProjectTasks 是否应该有 4 列(UserID、EmployeeProjects 中的 ProjectID 和 TaskID、Tasks 表中的 ProjectID)?
-
它不需要重复的列。它需要多个重叠的外键约束:
foreign key (UserID, ProjectID) references EmployeeProjects (UserID, ProjectID)和foreign key (TaskID, ProjectID) references Tasks (TaskID, ProjectID)。 -
@Catcall - 请查看更新后的图表。我想我现在有了。感谢你的帮助。我应该如何创建 Code First 类?
-
这应该是一个不同的问题。或者试试谷歌。我发现了这个:Generating EF Code First Model Classes from an Existing Database.
标签: entity-framework database-design