2014-10-20 2 views
0

В моем проекте Lightswitch у меня есть таблица People с отношением 1 to many к электронной почте. Это очень похоже на то, что сделал Бет Масси в своем прохождении 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. Каждый адрес электронной почты имеет адрес электронной почты (т. Е. Рабочий, персональный, другой). Как ограничить каждого пользователя только одним адресом электронной почты на адрес электронной почты?Lightswitch уникально для лица

Beth использует список выбора. Я обычно всегда создаю отношение к другой таблице, так что все это видно из SQL. В любом случае, пользователь может добавить несколько «рабочих» писем. Если вы установите для параметра «EmailType» значение «Уникальный», это применяется по всем направлениям, и теперь вы можете иметь только одну рабочую электронную почту, а не одну рабочую электронную почту на человека.

Я столкнулся с этой же проблемой со счетами и телефонами, где каждая учетная запись должна иметь только один основной или один факс-тип факса.

Спасибо,

Джон

ответ

2

Вы можете добавить EmailType и адрес электронной почты в уникальный индекс таблицы. Это гарантирует, что каждый пользователь имеет уникальную комбинацию emailType/email. Сделать это. Откройте объект и для каждого поля, которое вы хотите добавить к уникальному индексу, установите флажок «Включить в уникальный индекс».

+0

Спасибо. Ключ был, как вы упомянули, чтобы сделать уникальным как EmailType для Email, так и уникальную учетную запись для электронной почты. Я просто добавлял один, который сделал его уникальным во всем. –

0

Другим вариантом является добавление ограничения CHECK к соответствующим таблицам, которое делает недействительным запись, если счетчик EmailType, тип AccountType и т. Д. Entity Framework будет бросать ошибки проверки ошибок в приложение, если вам нужна такая проверка логика.

 Смежные вопросы

  • Нет связанных вопросов^_^