Bonjour,
Je suis entrain de mettre en place un projet business application (silverlight) avec vs2010. J'utilise les outils suivant :
SGBD = SQLSERVER
Couche acces aux données = Entity Framework 4
Web service = Classe DomainService
ecran utilisateur = silverlight

Cependant, voyant que pour des ecrans utilisateurs un peu plus complexes et pour un meilleur controle des choses on m'a conseillé d'utiliser la méthode MVVM.

J'ai donc commencé à créer ma classe MVVM : Je charge à partir du modele (DomainService) mes données que j'ai besoin dans mon écran; et ça marche.
Maintenant, je veux charger une datagrid à partir des critéres de recherche, mais je n'arrive pas à rapatrier mes données. Voilà mon code qui veint de ma classe MVVM :
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
private void LoadListeRechercheDocuments(object parameter)
        {
 
            var LoadRecherche = context.Load(context.GetDocumentByParameterQuery(iIdDomaine, iIdNature, strIntitule));
            LoadRecherche.Completed += new EventHandler(LoadRecherche_Completed);
 
        }
  void LoadRecherche_Completed(object sender, EventArgs e)
        {
            if (context.DOCUMENTS.Count > 0)
            {
                ObservableCollection<DOCUMENTS> lstDoc = new ObservableCollection<DOCUMENTS>(context.DOCUMENTS);
                ListeDocuments = lstDoc;
            }
        }
Voilà mon code qui veint de ma classe DomainService:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 public IQueryable<DOCUMENTS> GetDocumentByParameter(int p_idDomaine,int p_idNature,string p_intitule)
        {
            //var q = from DOCUMENTS doc in this.ObjectContext.DOCUMENTS
            //        where doc.ID_Domaine == p_idDomaine
            //        && doc.ID_Nature == p_idNature
            //        && doc.Intitule == p_intitule
            //        select doc;
            return this.ObjectContext.DOCUMENTS.Where((doc) => doc.ID_Domaine.Equals(p_idDomaine))
                .Where((doc) => doc.ID_Nature.Equals(p_idNature))
                .Where((doc) => doc.Intitule.Equals(p_intitule));
 
        }