176 messaggi dal 13 febbraio 2004
salve a tutti

sto utilizzando LINQ to SQL, per selezionare un valore preciso, effettuando un where un orderby e alla fine prendendo un singolo valore (il primo)

XheoWHMDataDataContext context = new XheoWHMDataDataContext();

var aa = from c in context.XW_tblWHItemsUDC
where c.INDateWHItemsUDC == DateTime.Now
orderby c.UDCWHItemsUDC
select c;

XW_tblWHItemsUDC WHItemsUDC = aa.Take(1);

mi da però che è:

Errore1Impossibile convertire in modo implicito il tipo 'System.Linq.IQueryable<XW_tblWHItemsUDC>' in 'XW_tblWHItemsUDC'. È presente una conversione esplicita. Probabile cast mancante.


quale è il problema??

grazie tutti e buon anno
il metodo Take ritorna un enumerazione di oggetti. nel tuo caso devi anche utilizzare il metodo Single, per farti ritornare un'istanza della classe che desideri.
una cosa di questo tipo:

List<int> interi = new List<int>();
for (int i = 0; i < 25; i++)
{
    interi.Add(i);
}

var result = (from i in interi
              orderby i descending
              select i).Take<int>(1).Single();


che nel tuo caso diventa:

var aa = (from c in context.XW_tblWHItemsUDC 
where c.INDateWHItemsUDC == DateTime.Now 
orderby c.UDCWHItemsUDC 
select c).Take<1>.Single(); 

Marchi Giuseppe
http://www.peppedotnet.it

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.