Duplicates 如何防止MVC3中映射表中的重复记录?

Duplicates 如何防止MVC3中映射表中的重复记录?,duplicates,record,rdbms,Duplicates,Record,Rdbms,我有以下表格: Client (PKey = ClientId) User (PKey = UserId) UserClient (FKeys = ClientId, UserId) 当我试图在UserClient表中添加记录(映射)以便用户-客户机对应该是唯一的时,它允许重复记录 我想防止这种情况发生。也就是说,当试图添加现有的用户-客户端对时,它应该抛出客户端验证 如何防止在MVC3中的映射表中输入重复记录?听起来您想要唯一地标识列。 Yu可以通过SQL server中的候选密钥来

我有以下表格:

Client (PKey = ClientId)
User   (PKey = UserId) 

UserClient (FKeys = ClientId, UserId)
当我试图在UserClient表中添加记录(映射)以便用户-客户机对应该是唯一的时,它允许重复记录

我想防止这种情况发生。也就是说,当试图添加现有的用户-客户端对时,它应该抛出客户端验证


如何防止在MVC3中的映射表中输入重复记录?

听起来您想要唯一地标识列。 Yu可以通过SQL server中的候选密钥来实现这一点,但实体框架不支持它


由于UserClientId独立于您设置的外键,因此您将获得重复项。外键仅确保插入UserClient表的键存在于User表和Client表中

如果可能,请删除UserClientId主键,并将ClientId&UserId设置为UserClient表的主键。然后将处理重复项和外键完整性

以下是实体关系图的外观:


您是否将UserClient中的ClientId和UserId设置为主键而不仅仅是外键?是的,我在UserClient表中有一个主键UserClientId。这不是MVC3的问题。这是一个数据库设计问题。:-)