Как добавить уникальное поле не первичного ключа к сущности, используя Entity Framework 4.1? - PullRequest
9 голосов
/ 05 сентября 2011

Сначала мы используем код Entity Framework 4.1.

У нас есть пользовательский объект с первичным ключом, установленным на UserId, и нам нужно UserLogin, чтобы быть уникальным. Как это можно сделать?

Ответы [ 2 ]

15 голосов
/ 05 сентября 2011

Entity Framework не поддерживает уникальные ограничения. Вы можете создать их с помощью SQL-запроса, чтобы генерировать уникальные ограничения при инициализации базы данных. Напишите свой собственный инициализатор для модели и выполните команду SQL, чтобы сгенерировать ограничение.

Редактировать

Теперь (EF 6.1 и далее) вы можете легко иметь уникальные ограничения,

[Index("UserLoginIndex", IsUnique = True)]
public string UserLogin { get; set; }
2 голосов
/ 05 сентября 2011

Проверьте уникальные ограничения, я думаю, это то, что вы ищете?

http://weblogs.asp.net/manavi/archive/2011/01/23/associations-in-ef-code-first-ctp5-part-3-one-to-one-foreign-key-associations.aspx

...