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:
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
EntitySQLException:
La syntaxe de requête n'est pas valide. Rapproché terme '?'
J'ai essayé plusieurs encodages mais ça plante toujours quand il y a des caractères "non latins de base" je crois.

Auriez vous une idée?