IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linq Discussion :

jointure linq , retour de plusieurs lignes


Sujet :

Linq

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 11
    Par défaut jointure linq , retour de plusieurs lignes
    Bonjour ,
    j'utilise linq pour creer un rapport sous crystalreport d'une facture ,
    Voila mon requette
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    var ch1 = (
                                      from facc in bd.ligne_de_commande
                                      join fac in bd.facture_cr
                                      on facc.num_fac equals fac.Numero_facture
                                      join sds in bd.import_grp_clt
                                      on fac.id_dossier equals sds.id_dossier
                                      join ds in bd.import_grp
                                      on fac.id_dossier equals ds.num_dossier
     
                                      join cl in bd.Client
                                      on sds.id_client equals cl.Id
     
                                      where
                                      facc.num_fac == facture.affect_fac
                                      select new
                                      {
                                          Date = ds.datte_arive == null ? DateTime.MinValue : ((DateTime)ds.datte_arive),
                                          Debarque = ds.Port_debarquement == null ? "" : ds.Port_debarquement,
                                          RsClient = cl.Raison_social == null ? "" : cl.Raison_social,
                                          Navire = ds.Navire == null ? "" : ds.Navire,
                                          Provenance = ds.pays_prise == null ? "" : ds.pays_prise,
                                          Escale = ds.escale == null ? 0 : (int)(ds.escale),
                                          SR = ds.ns_remorque == null ? "" : ds.ns_remorque,
                                          Fournisseur = sds.fournissuer_march == null ? "" : sds.fournissuer_march,
                                          Rub = ds.rubrique == null ? 0 : (int)ds.rubrique,
                                          designation = ds.nature_march == null ? "" : ds.nature_march,
                                          Colissage = ds.Colissage == null ? 0 : (int)ds.Colissage,
                                          Poids = ds.Poids == null ? 0 : (int)ds.Poids,
                                          Libelé = facc.libele == null ? "" : facc.libele,
                                          Qte = facc.Qte == null ? 0 : (int)facc.Qte,
                                          Prix = facc.prix_unitaire == null ? 0 : (double)facc.prix_unitaire,
                                          TVA = facc.TVA == null ? 0 : (double)facc.TVA,
                                          Total_TVA = facc.totdetva == null ? 0 : (double)(facc.totdetva),
                                          Montant = facc.total_htva == null ? 0 : (double)(facc.total_htva),
                                          Montant_tva = facc.total_tva == null ? 0 : (double)(facc.total_tva),
                                          Timbre = fac.Timbre_fiscal == null ? 0 : (double)(fac.Timbre_fiscal),
                                          Total_n_table = fac.Total_non_taxable == null ? 0 : (double)(fac.Total_non_taxable),
                                          total_taxable = fac.Total_tcc == null ? 0 : (double)(fac.Total_tcc),
                                          Total_ttc = fac.Devise == null ? "" : fac.Devise,
                                          Total = fac.Total_tva == null ? 0 : (double)fac.Total_tva,
                                          device = fac.Libelé == null ? "" : fac.Libelé,
                                          Num = fac.Numero_facture == null ? 0 : fac.Numero_facture
                                      });
    le problème que je reçois le retour de plusieurs lignes (doublons) .

  2. #2
    Invité
    Invité(e)
    Par défaut
    tu peux utiliser à la fin de la requête l'instruction Distinct()

    exemple:

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    var ch1 = (
                                      from facc in bd.ligne_de_commande
                                      join fac in bd.facture_cr
                                      on facc.num_fac equals fac.Numero_facture
                                      join sds in bd.import_grp_clt
                                      on fac.id_dossier equals sds.id_dossier
                                      join ds in bd.import_grp
                                      on fac.id_dossier equals ds.num_dossier
     
                                      join cl in bd.Client
                                      on sds.id_client equals cl.Id
     
                                      where
                                      facc.num_fac == facture.affect_fac
                                      select new
                                      {
                                          Date = ds.datte_arive == null ? DateTime.MinValue : ((DateTime)ds.datte_arive),
                                          Debarque = ds.Port_debarquement == null ? "" : ds.Port_debarquement,
                                          RsClient = cl.Raison_social == null ? "" : cl.Raison_social,
                                          Navire = ds.Navire == null ? "" : ds.Navire,
                                          Provenance = ds.pays_prise == null ? "" : ds.pays_prise,
                                          Escale = ds.escale == null ? 0 : (int)(ds.escale),
                                          SR = ds.ns_remorque == null ? "" : ds.ns_remorque,
                                          Fournisseur = sds.fournissuer_march == null ? "" : sds.fournissuer_march,
                                          Rub = ds.rubrique == null ? 0 : (int)ds.rubrique,
                                          designation = ds.nature_march == null ? "" : ds.nature_march,
                                          Colissage = ds.Colissage == null ? 0 : (int)ds.Colissage,
                                          Poids = ds.Poids == null ? 0 : (int)ds.Poids,
                                          Libelé = facc.libele == null ? "" : facc.libele,
                                          Qte = facc.Qte == null ? 0 : (int)facc.Qte,
                                          Prix = facc.prix_unitaire == null ? 0 : (double)facc.prix_unitaire,
                                          TVA = facc.TVA == null ? 0 : (double)facc.TVA,
                                          Total_TVA = facc.totdetva == null ? 0 : (double)(facc.totdetva),
                                          Montant = facc.total_htva == null ? 0 : (double)(facc.total_htva),
                                          Montant_tva = facc.total_tva == null ? 0 : (double)(facc.total_tva),
                                          Timbre = fac.Timbre_fiscal == null ? 0 : (double)(fac.Timbre_fiscal),
                                          Total_n_table = fac.Total_non_taxable == null ? 0 : (double)(fac.Total_non_taxable),
                                          total_taxable = fac.Total_tcc == null ? 0 : (double)(fac.Total_tcc),
                                          Total_ttc = fac.Devise == null ? "" : fac.Devise,
                                          Total = fac.Total_tva == null ? 0 : (double)fac.Total_tva,
                                          device = fac.Libelé == null ? "" : fac.Libelé,
                                          Num = fac.Numero_facture == null ? 0 : fac.Numero_facture
                                      }).Distinct();

Discussions similaires

  1. Réponses: 8
    Dernier message: 07/12/2011, 09h35
  2. [AJAX] Retour ResponseText sur plusieurs lignes
    Par hornetbzz dans le forum AJAX
    Réponses: 9
    Dernier message: 04/03/2010, 16h40
  3. Réponses: 5
    Dernier message: 30/10/2009, 15h37
  4. Réponses: 1
    Dernier message: 03/10/2008, 13h29
  5. Justifier plusieur lignes (Justification et retour à la ligne)
    Par Lareine dans le forum Mise en page CSS
    Réponses: 32
    Dernier message: 31/05/2007, 10h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo