Bonjour,

je développe une application avec silverlight et WCF Data Service, je trouve un grand souci pour alimenter une comboBox à partir du champ Civilité de ma table Usager.

ma fonction est la suivante:
Code c# : 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
25
26
27
28
29
 
public void GetCivilite(System.Windows.Controls.ComboBox cmbCivilite)
        {
            try
            {
                cmb = cmbCivilite;
 
                var req = (from user in proxy.Usager
                           select user.Civilite
                           .Distinct()
                          );
                DataServiceQuery<String> userQuery = (DataServiceQuery<String>)req;
                userQuery.BeginExecute(new AsyncCallback(OnQueryComplete), req);
 
           }
            catch (DataServiceQueryException ex)
            {
                throw ex;
            }
 
        }
 
private void OnQueryComplete(IAsyncResult result)
        {
 
 
            DataServiceQuery<String> query = (DataServiceQuery<String>)result.AsyncState;
            cmb.ItemsSource = query.EndExecute(result).ToList();
        }

lors de l'exécution il me plante sur la ligne de BeginExecute avec l'erreur suivante:

System.InvalidCastException: Impossible d'effectuer un cast de l'objet de type 'DataServiceOrderedQuery[System.Collections.Generic.IEnumerable`1[System.Char]]' en type 'System.Data.Services.Client.DataServiceQuery`1[System.String]'.
sachant que j'ai aucun souci si le type de retour de la requete est un objet !! j'ai l'impression que les types primitives posent problème.

Avez vous une idée !