Question

Je suis en train de faire une requête où je jetai une colonne de texte, qui contient un nombre entier sous forme de texte, à un Int32. Voici la requête:

SELECT VALUE t FROM MyEntities AS t WHERE CAST(t.TextColumn AS Edm.Int32) > 5

Cependant, je reçois un System.Data.EntitySqlException avec le message suivant:

'Edm.Int32' Type n'a pas pu être trouvé. Assurez-vous que les schémas requis sont chargés et que les espaces de noms sont correctement importés. Près de nom du type, ligne 1, colonne 75.

Selon MSDN , Edm.Int32 doit être un type valide .

Quelqu'un sait ce qui ne va pas?

Modifier

Après quelques essais et erreurs, je l'ai trouvé que les travaux suivants:

SELECT VALUE t FROM MyEntities AS t WHERE CAST(t.TextColumn AS System.Int32) > 5

Les exemples sont dans un mauvais MSDN? Je me sens comme si je manque quelque chose ici ...

Était-ce utile?

La solution

Si une requête est exécutée avec le EntityCommand, le type de données est un type EDM, alors que si la requête est exécutée avec ObjectQuery, le type de données est un type CLR.

On dirait que vous exécutez le comman via le ObjectQuery.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top