2009-09-02 2 views
0

Entity Framework .NET me donne l'erreur suivante:Ajout d'une clé logique à une vue dans SQL Server Manager

« La table/vue « Foo.dbo.vwFoo » n'a pas une clé primaire définie et Aucune clé primaire valide n'a pu être déduite Cette table/vue a été exclue Pour utiliser l'entité, vous devrez revoir votre schéma, ajouter les clés correctes et le décommenter. "

La vue est une collection de divers tableaux et calculs. Ce que je voudrais faire est de créer une "clé logique" en utilisant l'une des colonnes que je sais devrait être unique. Je ne peux pas comprendre comment faire cela dans SQL Server Manager 2005 (pas un DBA.)

Quelqu'un sait comment je pourrais accomplir cela?

Répondre

4

L'EF ne peut pas trouver le PK, car les VIEW n'ont pas de PK. Cependant, si la vue renvoie une colonne unique, vous pouvez indiquer à l'EF qu'il s'agit du "PK".

Il est expliqué dans cette astuce: How to work with Updatable Views

+0

Ce lien suggère de modifier le SSDL. Cependant, le SSDL est ébloui chaque fois que vous faites "Update Model From Database" dans la vue du concepteur EF. Donc, cette solution est quelque chose que vous devez vous rappeler de réappliquer chaque fois que vous mettez à jour votre edmx de la base de données. – ClearCloud8

Questions connexes