自动递增不是标识列的列

时间:2015-08-03 15:57:00

标签: asp.net sql-server entity-framework

在一个项目中,我在ProjectProjectMembers之间建立了一个关系,这样项目可以有一个ProjectMembers列表,ProjectMemebers只能参与一个项目(参见Concurrency Check on an ICollection (during add) )。

我想有一个自动递增的字段,但它不应该是一个标识列。

例如,给定一个项目,一旦我们添加了一个新的ProjectMemeber,该成员将收到一个数字(如id),它允许我们仅在该特定项目中识别该ProjectMemeber。

有没有办法用EF实现这个目标?

1 个答案:

答案 0 :(得分:0)

我会有三个实体 - ProjectsMembers,还有一个用作名为ProjectMembers的关系代理。

此第三个实体只有3个字段 - id用作自动增量的标识,ProjectIdMemberId用作ForeignKey关系。添加唯一约束,使MemberId必须是唯一的(这将强制实施项目中成员的一对一关系)。 id对于该项目中的该成员将是唯一的。当他们完成一个项目时,该关系代理记录将被删除,允许重新分配给另一个项目。