Bonjour,
j'apprend à me servir de l'Entity Framework et de ses fonctionnalités.
J'ai un petit problème quand j'essaie d'effectuer une requete SELECT avec une clause WHERE car la valeur que je teste n'a apparament pas le bon encodage..
Voyez plutôt:
EntitySQLException:
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 'Contains Public Function Contains(ByVal key As String, ByVal value As Object) As Boolean 'key = "Filename" & value = "F:\VIDEO\Films\Ah ! si j'étais riche.avi" Dim srcEncoding As Encoding = Encoding.Unicode Dim destEncoding As Encoding = Encoding.ASCII Dim valueEncoded As String = EncodeConvert(srcEncoding, destEncoding, value) 'valueEncoded = "F:\VIDEO\Films\Ah ! si j'?tais riche.avi" Dim tableName As String = Me.ObjSet.EntitySet.EntityContainer.Name + "." + Me.ObjSet.EntitySet.Name 'tableName = "videosEntites.Movie" Dim queryString As String = "SELECT VALUE m FROM " + tableName + " AS m WHERE m." + key + " = '" + valueEncoded + "'" Dim oq = New ObjectQuery(Of T)(queryString, ObjContext) Return (oq.ToList.Count > 0) '<--- Exception à chaque fois quand il y a un caractère qui ne lui plait pas ("é", "?", etc.) :P End Function
J'ai essayé plusieurs encodages mais ça plante toujours quand il y a des caractères "non latins de base" je crois.La syntaxe de requête n'est pas valide. Rapproché terme '?'
Auriez vous une idée?
Partager