SQL conversion de type varchar type uniqueidentifier échoue en vue

Je suis bloqué sur le scénario suivant.
J'ai une base de données avec une table avec des données client et d'une table où j'ai mis les dossiers pour la surveillance de ce qui se passe sur notre site B2B.

La table client est comme suit:

  • ID int not null
  • GUID, uniqueidentfier, not null, primary key
  • D'autres choses...

Le tableau de contrôle:

  • ID int not null
  • USERGUID, de type uniqueidentifier, null
  • PARAMÈTRE2, varchar(50), null
  • D'autres choses...

Dans PARAMÈTRE1 client guid comme wel comme d'autres types de données stockées.

Maintenant, la question est venue à l'ordre de nos clients en fonction de leur dernière visite date de la plus récente visité les clients doivent venir sur le dessus d'une grille.

Je suis en utilisant Entity Framework et j'ai eu des problèmes de comparaison de la chaîne et le type de guid, j'ai donc décidé de faire une vue sur le dessus de mon tableau de contrôle:

SELECT        
   ID, 
   CONVERT(uniqueidentifier, parameter2) AS customerguid, 
   USERguid, 
   CreationDate
FROM            
   MONITORING
WHERE        
   (dbo.isuniqueidentifier(parameter2) = 1) 
   AND 
   (parameter1 LIKE 'Customers_%' OR parameter1 LIKE 'Customer_%')

J'ai importé la vue en EF et fait ma requête Linq. Il n'a rien retourné, j'ai donc extrait le SQL généré requête. Lors de l'essai de la requête dans SQL Management Studio, j'ai eu l'erreur suivante:
Conversion a échoué lors de la conversion d'une chaîne de caractères de type uniqueidentifier.

Le problème réside dans l'extrait suivant (simplifié pour cette question, mais aussi donne une erreur:

SELECT *,
    (
        SELECT 
            [v_LastViewDateCustomer].[customerguid] AS [customerguid]
        FROM [dbo].[v_LastViewDateCustomer] AS [v_LastViewDateCustomer]
        WHERE c.GUID = [v_LastViewDateCustomer].[customerguid]
    )

FROM CM_CUSTOMER c

Mais quand je fais une jointure, je reçois mes résultats:

SELECT *
FROM CM_CUSTOMER c
    LEFT JOIN
    [v_LastViewDateCustomer] v
on c.GUID = v.customerguid

J'ai essayé de faire un SQL violon, mais il est en train de travailler sur ce site. http://sqlfiddle.com/#!3/66d68/3

Quelqu'un qui peut me pointer dans la bonne direction?

Quelle version de SQL Server?
SQL Server 2012

OriginalL'auteur CyclingFreak | 2013-12-09