Как сделать значение поля уникальным в Entity Framework

У меня есть таблица с ключом и другим полем с именем "CardId". Теперь я хочу сделать CardId уникальным. Я имею в виду, что в CardId должно храниться только уникальное значение. Как мне это сделать? Благодарность


person Mohammad    schedule 29.03.2011    source источник
comment
Используете ли вы SQL Server в качестве хранилища данных?   -  person tobias86    schedule 29.03.2011
comment
Дубликат: stackoverflow.com/questions/3176193/   -  person Jonathan    schedule 29.03.2011
comment
А также здесь... stackoverflow.com/ вопросы/2614941/   -  person Jonathan    schedule 29.03.2011


Ответы (1)


Предполагая, что вы используете SQL Server, вы можете просто добавить уникальный индекс в свою таблицу, например.

CREATE UNIQUE NONCLUSTERED INDEX [IX_TableName] ON [dbo].[TableName] 
(
    [CardId] ASC
) ON [PRIMARY]
GO

Это гарантирует, что столбец позволяет хранить только уникальные значения.

Насколько мне известно, единственный способ указать столбец как «уникальный» в EF4 — это пометить его как Entity Key (пожалуйста, поправьте меня, если я ошибаюсь), но это может привести к некоторой путанице в будущем, поскольку ваш Entity Key в идеале должен сопоставляться с первичным ключом вашей таблицы.

person tobias86    schedule 29.03.2011
comment
+1 правильный ответ. Текущая версия EF вообще не поддерживает уникальные ключи, но мы надеемся, что это запланировано для следующей основной версии: ladislavmrnka.com/2011/03/ - person Ladislav Mrnka; 29.03.2011