Bonjour
J'arrive pas à ajouter ma vue à mon application...

voici l'erreur :

Message 1 Aucune clé primaire n'est définie pour la table/vue 'ANANCE.dbo.V_HC_CODE'*; en outre, aucune clé primaire valide n'a pu être déduite. Cette table/vue a été exclue. Pour utiliser l'entité, vous devez passer en revue votre schéma, ajouter les clés appropriées et supprimer le commentaire associé.

par ailleure, avec un LINQ to Entities je n'ai pas ce problème... Est-ce grave d'avoir deux liaisons de données l'un avec Entity data model où j'ai toutes mes tables et l'autre avec Linq to entities où j'ai ma vue ?

voici le code SQL de ma vue :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
WITH codes(code, id, position) AS (SELECT     CAST(LTRIM(dbo.PR.PR_ROOT + ISNULL(dbo.PR_H.H_ANUM, 'N/A')) AS VARCHAR(MAX)) 
                                                                                                  + CASE WHEN SUBSTRING(dbo.PR.PR_ROOT + dbo.PR_H.H_ANUM, 
                                                                                                  LEN(dbo.PR.PR_ROOT + dbo.PR_H.H_ANUM), 1) = '''' THEN '' ELSE '' + CHAR(10) END AS Expr1, 
                                                                                                  dbo.PR_H.H_ID, dbo.PR.PR_LEVEL
                                                                           FROM          dbo.PR_H INNER JOIN
                                                                                                  dbo.PR ON dbo.PR_H.PR_ID = dbo.PR.PR_ID INNER JOIN
                                                                                                  dbo.H ON dbo.H.H_ID = dbo.PR_H.H_ID
                                                                           WHERE      (dbo.PR.PR_LEVEL = 0)
                                                                           UNION ALL
                                                                           SELECT     codes.code + CAST(LTRIM(dbo.PR.PR_ROOT + ISNULL(suiv.H_ANUM, 'N/A')) AS VARCHAR(MAX)) 
                                                                                                 + CASE WHEN SUBSTRING(dbo.PR.PR_ROOT + suiv.H_ANUM, 
                                                                                                 LEN(dbo.PR.PR_ROOT + suiv.H_ANUM), 1) = '''' THEN '' ELSE '' + CHAR(10) END AS CODE, 
                                                                                                 suiv.H_ID, dbo.PR.PR_LEVEL
                                                                           FROM         dbo.PR_H AS suiv INNER JOIN
                                                                                                 dbo.PR ON suiv.PR_ID = dbo.PR.PR_ID INNER JOIN
                                                                                                 dbo.H ON dbo.H.H_ID = suiv.H_ID INNER JOIN
                                                                                                 codes ON suiv.H_ID = codes.id AND dbo.PR.PR_LEVEL = codes.position + 1), maxphrase AS
    (SELECT     id, MAX(position) AS maxposition
      FROM          codes
      GROUP BY id)
    SELECT     P.id, RTRIM(P.code) + CHAR(10) AS code
     FROM         codes AS P INNER JOIN
                            maxphrase AS M ON P.id = M.id AND P.position = M.maxposition

Je trouve pas la raison....

Merci par avance de votre aide