0

次のテーブルがあります。

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

UserClient (FKeys = ClientId, UserId)

ユーザーとクライアントのペアが一意になるように UserClient テーブルにレコード (マッピング) を追加しようとすると、重複レコードが許可されます。

それを防ぎたい。つまり、既存のユーザーとクライアントのペアを追加しようとすると、クライアント側の検証をスローする必要があります。

MVC3 のマッピング テーブルに重複レコードが入力されるのを防ぐにはどうすればよいですか?

4

2 に答える 2

0

列を一意に識別したいようです。Yu は SQL サーバーの候補キーを使用してこれを実現できますが、エンティティ フレームワークではサポートされていません。

Entity Framework: 関連付けで非主一意キーを使用するための代替ソリューション

于 2013-02-20T18:12:13.610 に答える
0

UserClientId は設定した外部キ​​ーから独立しているため、重複が発生します。外部キーは、UserClient テーブルに挿入されるキーが User テーブルと Client テーブルに存在することのみを保証します。

可能であれば、UserClientId 主キーを削除し、ClientId と UserId を UserClient テーブルの主キーとして設定します。その後、重複が処理され、外部キーの整合性が保たれます。

エンティティ関係図は次のようになります。

ここに画像の説明を入力

于 2013-02-20T18:19:37.477 に答える