我有以下表格:
Client (PKey = ClientId)
User (PKey = UserId)
UserClient (FKeys = ClientId, UserId)
当我尝试在 UserClient 表中添加一条记录(映射)以使 User-Client 对应该是唯一的时,它允许重复记录。
我想阻止这种情况。意思是,当尝试添加现有的用户-客户端对时,它应该抛出客户端验证。
如何防止在 MVC3 的映射表中输入重复记录?
我有以下表格:
Client (PKey = ClientId)
User (PKey = UserId)
UserClient (FKeys = ClientId, UserId)
当我尝试在 UserClient 表中添加一条记录(映射)以使 User-Client 对应该是唯一的时,它允许重复记录。
我想阻止这种情况。意思是,当尝试添加现有的用户-客户端对时,它应该抛出客户端验证。
如何防止在 MVC3 的映射表中输入重复记录?
听起来您想唯一标识列。Yu 可以借助 SQL server 中的 Candidate Key 来实现这一点,但在实体框架中不支持。
由于 UserClientId 独立于您设置的外键,因此您将获得重复项。外键仅确保插入到 UserClient 表中的键存在于 User 和 Client 表中。
如果可能,删除 UserClientId 主键并将您的 ClientId 和 UserId 设置为 UserClient 表的主键。然后,您将处理重复项和外键完整性。
这是实体关系图的样子: