2011-03-29 4 views
1

J'ai une table avec une clé et un autre champ nommé "CardId". Maintenant, je veux rendre CardId unique. Je veux dire que la valeur unique devrait être stockée dans CardId. Comment puis-je le faire? merciComment rendre une valeur de champ unique dans Entity Framework

+0

Utilisez-vous SQL Server comme magasin de données? – tobias86

+0

Dupliquer: http://stackoverflow.com/questions/3176193/ef4-is-there-any-way-it-can-be-made-to-support-unique-indexes – Jonathan

+0

Et aussi ici ... http://stackoverflow.com/questions/2614941/unique-keys-in-entity-framework-4 – Jonathan

Répondre

3

En supposant que vous utilisez SQL Server, vous pouvez simplement ajouter un index unique à votre table, par ex.

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

Cela garantira que la colonne autorise uniquement le stockage de valeurs uniques. Pour autant que je sache, la seule façon de spécifier une colonne comme "unique" dans EF4 est de l'indiquer comme Entity Key (s'il vous plaît corrigez-moi si je me trompe), mais cela pourrait conduire à une certaine confusion le long de la ligne que votre clé d'entité devrait idéalement mapper à la clé primaire de votre table.

+1

+1 réponse correcte. La version actuelle d'EF ne supporte pas du tout les clés uniques, mais il est prévu que la prochaine version majeure soit disponible: http://www.ladislavmrnka.com/2011/03/unique-key-constraints-in-entity-framework/ –

Questions connexes