Random con Linq
imbesi non è online. Ultima attività: 26/11/2008 20.13.24imbesi
Inserito il: 06 settembre 2008 12.11
151 messaggi dal 07 ott 2004 Istalla Microsoft Silverlight!
ciao a tutto

voglio fare una cosa credo banale, ma non ho capito come si fa...

vorrei estrarre dal mio db un numero x di campi in maniera ramdom, normalmente avrei fatto:

Selet Top(10) from pippo where (UrlImg IS NOT NULL)
Order BY NEWID()

e lo mettevo ad esempio in una query nel dataset...

e con linq come posso fare, ho fatto delle prove inserendo la query nella prorieta select del linqdatasource, ma non funziona perche mi dice che "select non è una proprieta o metodo valido"

come posso fare??

ciao
Microsoft Most Valuable Professional
RE: Random con Linq
rickyvr non è online. Ultima attività: 29/11/2008 13.52.47rickyvr
Inserito il: 06 settembre 2008 12.19
contributi / Top Poster / Community manager / www.riccardogolia.it / Blog / 2175 messaggi dal 16 mag 2004 Istalla Microsoft Silverlight!
A titolo di informazione, in LINQ gli operatori di partizionamento sono Take e Skip. Take permette di recuperare le prime x righe da una lista di dati, mentre Skip consente di recuperare i dati a partire dall'elemento x+1.

Esempi:
var a = list.Take(x);
var b = list.Skip(x);


Per quanto riguarda il discorso random, può dipendere dall'algoritmo di estrazione. Che cosa avevi in mente in particolare?

Ciao, Ricky.

Modificato da rickyvr il 06 settembre 2008 12.26 -

Riccardo Golia
Microsoft MVP Solutions Architect
ASPItalia.com Community Manager & Content Editor
http://blogs.aspitalia.com/rickyvr
http://ricky.aspitalia.com
http://www.riccardogolia.it
RE: Random con Linq
vladimiro non è online. Ultima attività: 24/11/2008 13.06.37vladimiro
Inserito il: 06 settembre 2008 12.25
contributi / 438 messaggi dal 04 ago 2002 Istalla Microsoft Silverlight!
ciao,

qui trovi un esempio che fa esattamente quel che chiedi: http://linqinaction.net/blogs/main/archive/2008/01/10/randomizing-linq-to-sql-queries.aspx

... secondo risultato in Google con linq+random+query, no farina del mio sacco


vladi

RE: Random con Linq
imbesi non è online. Ultima attività: 26/11/2008 20.13.24imbesi
Inserito il: 06 settembre 2008 12.40
151 messaggi dal 07 ott 2004 Istalla Microsoft Silverlight!
Mi basterebbe tirare fuori 10 prodotti in maniera casuale, nulla di complicato.

ciao
RE: Random con Linq
imbesi non è online. Ultima attività: 26/11/2008 20.13.24imbesi
Inserito il: 06 settembre 2008 12.41
151 messaggi dal 07 ott 2004 Istalla Microsoft Silverlight!
vladimiro ha scritto:
ciao,

qui trovi un esempio che fa esattamente quel che chiedi: http://linqinaction.net/blogs/main/archive/2008/01/10/randomizing-linq-to-sql-queries.aspx

... secondo risultato in Google con linq+random+query, no farina del mio sacco


vladi


Grazie adesso provo
Microsoft Most Valuable Professional
RE: Random con Linq
rickyvr non è online. Ultima attività: 29/11/2008 13.52.47rickyvr
Inserito il: 06 settembre 2008 12.50
contributi / Top Poster / Community manager / www.riccardogolia.it / Blog / 2175 messaggi dal 16 mag 2004 Istalla Microsoft Silverlight!
Non avevo bene inteso la natura della domanda, per questo ho inserito la spiegazione di Take e Skip, con cui puoi estrarre x elementi contigui a partire da un indice (il cui valore può essere random).

Facci sapere se la soluzione proposta da Vladimiro ti va bene, in caso contrario vediamo come risolvere il tuo problema.

Ciao, Ricky.

Riccardo Golia
Microsoft MVP Solutions Architect
ASPItalia.com Community Manager & Content Editor
http://blogs.aspitalia.com/rickyvr
http://ricky.aspitalia.com
http://www.riccardogolia.it
RE: Random con Linq
imbesi non è online. Ultima attività: 26/11/2008 20.13.24imbesi
Inserito il: 06 settembre 2008 12.56
151 messaggi dal 07 ott 2004 Istalla Microsoft Silverlight!
rickyvr ha scritto:
Non avevo bene inteso la natura della domanda, per questo ho inserito la spiegazione di Take e Skip, con cui puoi estrarre x elementi contigui a partire da un indice (il cui valore può essere random).

Facci sapere se la soluzione proposta da Vladimiro ti va bene, in caso contrario vediamo come risolvere il tuo problema.

Ciao, Ricky.


La soluzione proposta da Vladimiro è ottima, ma avrei risolto in maniera piu semplice...

Ho fatto una vista nel db in questo modo
SELECT TOP (5) ID, IDInternal, CategoryID, ManufacturerID,
FROM dbo.Products
ORDER BY NEWID()

Ho aggiunto la vista nella classe che mappa il db ho aggiunto la vista, e poi dalla paggina la richiamo con il linqdatasource come se fosse una semplice tabella..

funziona correttamente.

ciao e grazie

E poi nella pagina la richiamo tramite
RE: Random con Linq
vladimiro non è online. Ultima attività: 24/11/2008 13.06.37vladimiro
Inserito il: 06 settembre 2008 13.08
contributi / 438 messaggi dal 04 ago 2002 Istalla Microsoft Silverlight!
imbesi ha scritto:

La soluzione proposta da Vladimiro è ottima, ma avrei risolto in maniera piu semplice...


Semplice e bella (era lì a portata di mano). Dopo qualche mumble mumble avrei fatto la stessa cosa.

v


Vai a:
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.


PeppeDotNet - 500 pt
gghi - 60 pt
simonegiusti - 1 pt

Iscriviti anche tu e raccogli punti. Questo mese in palio VS 2008, SQL Prompt e 1 ebook!


COMMUNITY
ULTIMI MESSAGGI


IN EVIDENZA
MISC
Powered by .db Forums