2013-02-20 87 views
0

我有以下表格:如何防止MVC3映射表中的重複記錄?

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

UserClient (FKeys = ClientId, UserId) 

當我嘗試在UserClient表中添加一條記錄(映射),使得UserClient對應該是唯一的,它允許重複的記錄。

我想阻止這種情況。意思是,當試圖添加現有的用戶 - 客戶端對時,它應該拋出客戶端驗證。

我該如何防止重複記錄在MVC3的映射表中的輸入?

+0

你做的客戶端Id和用戶ID在UserClient主鍵不只是一個外鍵? – klabranche 2013-02-20 16:41:59

+0

是的,我在UserClient表中有一個主鍵UserClientId。 – sam 2013-02-20 18:00:27

+0

這不是MVC3的問題。這是一個數據庫設計問題。 :-) – klabranche 2013-02-20 18:22:38

回答

0

你會得到重複,因爲UserClientId獨立於外鍵你設置的。外鍵只能確保用戶和客戶表中存在的鍵被插入到UserClient表中。

如果可能,請刪除UserClientId主鍵並將您的ClientId & UserId設置爲UserClient表的主鍵。然後您將處理重複項和外鍵完整性。

這裏的實體關係圖會是什麼樣子:

enter image description here