2014-10-20 49 views
0

在我的Lightswitch項目中,我有一個People表,其中包含1到多個與Emails表的關係。這與Beth Massi在她的LS演練中做的非常相似,在http://blogs.msdn.com/b/bethmassi/archive/2013/10/23/beginning-lightswitch-in-vs-2013-part-2-feel-the-love-defining-data-relationships.aspx。每個電子郵件地址都有一個emailType(即工作,個人,其他)。如何限制每個用戶每個電子郵件類型只有一封電子郵件?對實體獨特的Lightswitch

Beth使用一個選擇列表..我傾向於總是創建一個關係到另一個表,所以它從SQL都是可見的。無論哪種方式,用戶都可以添加多個「工作」電子郵件。如果您將EmailType設置爲唯一,則可以在整個董事會中應用,現在只能有一個工作電子郵件系統,而不是每個人的一封工作電子郵件。

我在帳戶和電話中遇到了同樣的問題,其中每個帳戶應只有一個主要或一個傳真phonetype。

感謝,

約翰

回答

2

您可以在EMAILTYPE和電子郵件添加到表的唯一索引。這將確保每個用戶都有一個獨特的電子郵件類型/電子郵件組合。去做這個。打開實體,對於要添加到唯一索引的每個字段,請選中「包含在唯一索引中」複選框。

+0

謝謝。關鍵是你提到要使EmailType到Email獨一無二,並且帳戶到電子郵件是唯一的。我只是增加了一個使得它在所有方面都獨一無二的。 – 2014-10-24 21:05:14

0

另一個選擇是將CHECK約束添加到相關表中,如果EmailType,AccountType等實體框架的計數會將Check Constraint錯誤備份到應用程序,並且需要這種驗證邏輯。