2014-10-20 86 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错误备份到应用程序,并且需要这种验证逻辑。