0

我有以下表格:

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

UserClient (FKeys = ClientId, UserId)

当我尝试在 UserClient 表中添加一条记录(映射)以使 User-Client 对应该是唯一的时,它允许重复记录。

我想阻止这种情况。意思是,当尝试添加现有的用户-客户端对时,它应该抛出客户端验证。

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

4

2 回答 2

0

听起来您想唯一标识列。Yu 可以借助 SQL server 中的 Candidate Key 来实现这一点,但在实体框架中不支持。

实体框架:在关联中使用非主唯一键的替代解决方案

于 2013-02-20T18:12:13.610 回答
0

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

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

这是实体关系图的样子:

在此处输入图像描述

于 2013-02-20T18:19:37.477 回答