Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di a.felix
    Registrato dal
    Sep 2001
    Messaggi
    337

    [LinQ] Creare dinamicamente una query

    Salve a tutti ho un grande problema con LinQ
    All'evento selecting del linq data source ...
    devo sovrascrivere una query e farne una perosnalizzata che tenga conto di n° cose...

    la query è la seguente


    codice:
     
    var res = from p in EOdb.rPlayers
    join d in EOdb.PlayersDescriptions on p.id_Player equals d.id_Player
    join c in EOdb.PositionIndexes on p.id_Position equals c.id_Position
    join cn in EOdb.PositionsNames on c.id_Position equals cn.id_Position
    where cn.Region == "EN-en" 
    && d.Region == "EN-en" 
    && cn.pName == lb_Position.SelectedItem.Text                          
    && p.Disabled != true 
    && p.id_Nationality == Convert.ToInt32(Session["fPlayer"].ToString())
    select new { p.id_Player, p.Name, p.Surname, p.Pound, p.Height, p.caricature, cn.pName, p.BirthDate, d.Description };
    ovviamente EOdb è il context ...
    a questa query di base, devo fare un filtro dinamico
    cioè avendo una listbox con dei valori devo filtrare per i valori selezionati con
    un OR e non un AND

    Quindi se seleziono nella listbox tutti i giocatori centrocampisti e attaccanti mi devono uscire entrambe le categorie..
    Partendo dal presupposto che io non sò cosa sarà sulla listbox visto che è possibile aggiungere o togliere ruoli, come posso fare per aggiungere i filtri dinamicamente?

    ho provato così:
    codice:
    var _res = res;
    foreach (int i in lb_Position.GetSelectedIndices())
    {
    _res = res.Where(cn => cn.pName == lb_Position.Items[i].Text);
    }
    e.Result = _res;
    ma sfortunatamente si comporta come se ci fosse un'AND ...invece a me serve un'OR

    ho provato a usare questo metodo
    http://www.albahari.com/nutshell/predicatebuilder.aspx
    Ma dovrei fare una classe per l'oggetto derivato e avrei dei problemini a ridistribuirlo a repeater


    ...davvero linq ha tali limitazioni? oppure sono io che sono scarso ??

  2. #2
    Utente di HTML.it L'avatar di a.felix
    Registrato dal
    Sep 2001
    Messaggi
    337
    up

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.