2011-08-03 43 views
2

我有這個方法在我的DomainService使用LINQ方法WCF RIA

 public IQueryable Getbl() 
    { 
     var qer = from t in this.ObjectContext.lignes_bl 
       from t0 in this.ObjectContext.entete_bl 
       where 
        t.NO_BL == t0.NO_BL 
       orderby 
        t.NO_BL, 
        t.NO_LIGNE 
       select new 
       { 
        IDentete_bl = t0.IDENTETE_BL, 
        NO_BL = t0.NO_BL, 
        DATE_BL = t0.DATE_BL, 
        FAC_AVOIR = t0.FAC_AVOIR, 
        REF_BL = t0.REF_BL, 
        CODE_CLIENT = t0.CODE_CLIENT, 
        NOM_CLIENT = t0.NOM_CLIENT, 
        ADRESSE = t0.ADRESSE, 
        CODE_PAYS = t0.CODE_PAYS, 
        VILLE = t0.VILLE, 
        CODE_POSTAL = t0.CODE_POSTAL, 
        ZONE = t0.ZONE, 
        TEL_FAX = t0.TEL_FAX, 
        CODE_ADL = t0.CODE_ADL, 
        NOM_ADL = t0.NOM_ADL, 
        ADRESSE_ADL = t0.ADRESSE_ADL, 
        CODE_POSTAL_ADL = t0.CODE_POSTAL_ADL, 
        VILLE_ADL = t0.VILLE_ADL, 
        MT_TTC_BL = t0.MT_TTC_BL, 
        CODE_PAYS_ADL = t0.CODE_PAYS_ADL, 
        TEL_FAX_ADL = t0.TEL_FAX_ADL, 
        REM = t0.REM, 
        CODE_REGLEMENT = t0.CODE_REGLEMENT, 
        NO_FACTURE = t0.NO_FACTURE, 
        DATE_FACTURE = t0.DATE_FACTURE, 
        CODE_COMPTA = t0.CODE_COMPTA, 
        SITE = t0.SITE, 
        CODE_COMMERCIAL = t0.CODE_COMMERCIAL, 
        NBR_COLIS = t0.NBR_COLIS, 
        NOM_TRANSPORTEUR = t0.NOM_TRANSPORTEUR, 
        FACTURE_DIRECTE = t0.FACTURE_DIRECTE, 
        MOIS_FACTURE = t0.MOIS_FACTURE, 
        CLE_SITE_MOIS_FAC = t0.CLE_SITE_MOIS_FAC, 
        CLE_SITE_FD_CC = t0.CLE_SITE_FD_CC, 
        CLE_SITE_FD = t0.CLE_SITE_FD, 
        CLE_SITE_FD_CC_EDIT = t0.CLE_SITE_FD_CC_EDIT, 
        ARCHIVAGE = t0.ARCHIVAGE, 
        NO_TVA_CL = t0.NO_TVA_CL, 
        numero = t0.numero, 
        Bis = t0.bis, 
        voie = t0.voie, 
        P_identite = t0.P_identite, 
        p_numero = t0.p_numero, 
        p_du = t0.p_du, 
        p_par = t0.p_par, 
        nais_du = t0.nais_du, 
        nais_ville = t0.nais_ville, 
        nais_dep = t0.nais_dep, 
        nais_pays = t0.nais_pays, 
        num_siren = t0.num_siren, 
        id_bon_ademe = t0.id_bon_ademe, 
        poids_ademe_vhu = t0.poids_ademe_vhu, 
        CODE_BROYEUR = t0.CODE_BROYEUR, 
        IDlignes_bl = t.IDLIGNES_BL, 
        CODE_CLIENT_LI = t.CODE_CLIENT, 
        NO_BL_LI = t.NO_BL, 
        DATE_BL_LI = t.DATE_BL, 
        FAC_AVOIR_LI = t.FAC_AVOIR, 
        CODE_ARTICLE = t.CODE_ARTICLE, 
        NO_VEHICULE = t.NO_VEHICULE, 
        DESIGNATION = t.DESIGNATION, 
        QTE = t.QTE, 
        PU_HT = t.PU_HT, 
        REM_LI = t.REM, 
        CODE_TVA = t.CODE_TVA, 
        TAUX_TVA = t.TAUX_TVA, 
        NO_LIGNE = t.NO_LIGNE, 
        TYPE_ARTICLE = t.TYPE_ARTICLE, 
        LIB_LIBRE = t.LIB_LIBRE, 
        DESI_ARTICLE = t.DESI_ARTICLE, 
        CODE_GARANTIE = t.CODE_GARANTIE, 
        NO_FACTURE_LI = t.NO_FACTURE, 
        CODE_REGLEMENT_LI = t.CODE_REGLEMENT, 
        SITE_LI = t.SITE, 
        LIB_MODELE = t.LIB_MODELE, 
        PA_HT_TTC = t.PA_HT_TTC, 
        PU_NET = t.PU_NET, 
        PU_TTC = t.PU_TTC, 
        code_id_article = t.code_id_article, 
        site_stockage = t.site_stockage, 
        sans_trait_haut = t.sans_trait_haut, 
        nom_article_unique_demonter = t.nom_article_unique_demonter, 
        code_ademe_ligne = t.code_ademe_ligne, 
        poids_ademe = t.poids_ademe, 
        type_article_ademe = t.type_article_ademe, 
        consistance = t.consistance, 
        conditionnement = t.conditionnement, 
        nombre_carcasse = t.nombre_carcasse, 
        num_vehicule_entretien = t.num_vehicule_entretien, 
        num_immat_vehi_entretien = t.num_immat_vehi_entretien 
       }; 
     return qer.AsQueryable(); 

,我有按鈕的代碼,這個問題不包含Getbl的定義?

DomainService1 testContext = new DomainService1(); 
    private void button1_Click(object sender, System.Windows.RoutedEventArgs e) 
    { 
     InitializeComponent(); 
     var res = testContext.Getbl(); 
    } 

回答

1

Getbl返回一個匿名類型的枚舉。匿名類型只有internal可訪問性,因此getbl不包含在服務中,因爲這實際上意味着它將返回不應公開顯示的類型實例列表。

創建一個公共類,其中包含要返回的屬性列表,並在Select投影中包含此公共類的新實例,而不是使用匿名類型。

除了AnthonyWJones
0

回答:

使用LoadOperation從服務器獲取數據:

LoadOperation<Customer> loadOp = this._customerContext.Load(this._customerContext.GetCustomersQuery()); 
CustomerGrid.ItemsSource = loadOp.Entities; 

注:您的方法將有一個附錄「查詢」的RIA增加了查詢方法。

+0

好的,謝謝我會測試這種方法 –