Torna indietro   Hardware Upgrade Forum > Software > Programmazione

AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria
AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria
A Las Vegas AMD ha svelato i dettagli architetturali delle CPU EPYC di sesta generazione, note con il nome in codice Venice. Nuovi core Zen 6 e Zen 6c costruiti a 2 nanometri, fino a 256 core per socket, 16 canali di memoria, interfaccia PCI Express 6.0 e un'intera famiglia di proposte che va da Venice SP7 a Verano. Senza dimenticare la memoria, oggi la voce di costo più pesante in un server: AMD risponde con CXL 3.1 e con la tecnologia software MEXT, che porta la memoria flash dentro la gerarchia della DRAM.
HONOR Pad X9 Max recensione, schermo ultra large a meno di 400 euro
HONOR Pad X9 Max recensione, schermo ultra large a meno di 400 euro
HONOR Pad X9 Max mette un pannello IPS da 13 pollici con risoluzione 2,5K e refresh a 120 Hz davanti a una batteria da 10.100 mAh e a quattro altoparlanti. Il listino parte da 399,90 euro, per un progetto molto chiaro e ambizioso: schermo ampio, buon audio e giornate lontano dalla presa, a un prezzo che non pesa sul portafoglio
Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno
Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno
Con la quattordicesima generazione Lenovo ridisegna il suo ThinkPad più iconico attorno al nuovo Space Frame e ai processori Intel Core Ultra Series 3. Resta sotto 1Kg, è molto più semplice da riparare e si rivolge al professionista che lavora in mobilità, con un prezzo da prodotto di vertice.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 17-09-2012, 00:43   #1
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
[.net]Databinding->Datagridview->GroupBy

salve

ho la tipica situazione in cui:

Codice:
private void BindGrid(int objID)
{
    BindingSource bs = new BindingSource();
    bs.DataSource = myView.GetDetail(objID);
    myGrid.DataSource = bs;
} 

private void SomeWhereInTheBlueCode()
{
   BindGrid(11);
}
e ottengo ovviamente i dati correttamente sulla griglia...

Ora, avrei bisogno di fare in modo che in base ad un'azione da parte dell'utente, a questa griglia io possa aggiungere dei dati e raggrupparli, cioè:

se l'utente aggiunge "caramella rossa"
e nella griglia già è presente un'articolo "caramella rossa"
anzichè aggiungere una riga me ne sommi le quantità, ovvero:

caramella rossa -> 2

che mi aumenti quindi, soltanto le quantità.

E questa sarebbe la mia prima vista....

Successivamente dovrei poi essere in grado anche invece di "separarle" e quindi di vedere per ciascun dato, la singola quantità.

Per la singola quantità ovviamente non ho problemi.

Sono sempre su EF e ho libertà di scelta fra linq to sql e linq to entity.

Grasiiasisiaisiiaassse !!
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2012, 00:18   #2
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Dopo un pò di arzigogolamenti ed un aiuto da msdn sono giunto qui:

Codice:
public IQueryable ViewArticoliGrouped(int orderID)
        {
            var result = from order in context.Orders
                         join sellers in context.Sellers on order.id_order equals sellers.orderID
                         join articles in context.Articles on order.id_order equals articles.orderID
                         where order.id_order == orderID
                         group articles by articles.ArticoliTop.descrizione into TEST_GROUP
                         let unitPrice = TEST_GROUP.FirstOrDefault().prezzo
                         let qty = TEST_GROUP.Sum(s => s.quantita)
                         let priority = TEST_GROUP.FirstOrDefault().portata
                         let send = TEST_GROUP.FirstOrDefault().inviata
                         let idr = TEST.FirstOrDefault().id_articolo
                         select new
                         {
                             seller = TEST_GROUP.FirstOrDefault().Orders.Sellers.FirstOrDefault().denominazione,
                             prodotto = TEST_GROUP.Key,
                             prezzo = unitPrice * qty,
                             quantity = qty,
                             priority = priority,
                             inviato = send,
                             idr = idr
                         };
            return result;
        }
Avrei due domande:

1) è lentissima come mai ?

2) volendo 'tradurla' in linq to entity, mi dareste una mano ?

Raoul....
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek

Ultima modifica di RaouL_BennetH : 22-09-2012 alle 07:17.
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 20-09-2012, 11:35   #3
Kralizek
Senior Member
 
L'Avatar di Kralizek
 
Iscritto dal: Feb 2003
Città: Stockholm (SE)
Messaggi: 1343
il problema sono tutti quei FirstOrDefault()

Codice:
seller = TEST_GROUP.FirstOrDefault().Orders.Sellers.FirstOrDefault().denominazione
per qualcosa del genere una volta ho cancellato l'intero metodo ad un tirocinante e gliel'ho fatto riscrivere. (credo che il tirocinante ha pensato di denunciarmi per mobbing, questi svedesi!)

invece di fare una singola query L2Sql, perché non fai diverse query, metti il risultato in collezioni che ti possono aiutare e poi combini il tutto in L2Objects?

se proprio non riesci a decomporre efficientemente la query, prova ad aiutarti con delle view fatte ad hoc sul database. per quanto lo si voglia far credere, utilizzarle in un ORM non é una bestemmia l'importante é non provare a scriverci dentro *


* in realtá con il giusto set di trigger puoi scrivere anche in una view

Ultima modifica di Kralizek : 20-09-2012 alle 11:40.
Kralizek è offline   Rispondi citando il messaggio o parte di esso
Old 22-09-2012, 07:17   #4
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Quote:
Originariamente inviato da Kralizek Guarda i messaggi
il problema sono tutti quei FirstOrDefault()

Codice:
seller = TEST_GROUP.FirstOrDefault().Orders.Sellers.FirstOrDefault().denominazione
per qualcosa del genere una volta ho cancellato l'intero metodo ad un tirocinante e gliel'ho fatto riscrivere. (credo che il tirocinante ha pensato di denunciarmi per mobbing, questi svedesi!)

invece di fare una singola query L2Sql, perché non fai diverse query, metti il risultato in collezioni che ti possono aiutare e poi combini il tutto in L2Objects?

se proprio non riesci a decomporre efficientemente la query, prova ad aiutarti con delle view fatte ad hoc sul database. per quanto lo si voglia far credere, utilizzarle in un ORM non é una bestemmia l'importante é non provare a scriverci dentro *


* in realtá con il giusto set di trigger puoi scrivere anche in una view
Ok, provo a frammentare allora !

Per quanto riguarda le view, a me sembrava la via più semplice ma non posso
agire sul database e ad una piccola richiesta da parte mia hanno storto il naso.

Mille grazie
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 22-09-2012, 21:46   #5
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Allora... Ho provato a riprodurmi su un db in locale le tabelle e crearmi una vista.

E' tremendamente più veloce.

Ad ogni modo ho comunque due problemi:

1) Non potrò mai usarla perchè non ne ho l'autorizzazione

2) Ci sono dei dati che vorrei capire come visualizzare:

Codice:
Tabella Ordini:
id_ordine pk
altreInfoPocoUtili...

TabellaAssegnazioneVenditori
id_assignment pk
regioneID (fk -> pk tabella regioni (id_regione))
ordineID (fk -> pk tabella ordini (id_ordine))

TabellaArticoliVenduti
id_vendita pk
articoloID (fk -> pk tabella articoli(id_articolo))
ordineID (fk -> pk tabella ordini(id_ordine))
qta (intero)
prezzo(decimal)
priority (intero)
evaso (bit)
Nella view non riesco ad inserire:
La regione o l'id della stessa (dato che non dev'essere raggruppata)
la priorità (anch'essa non ha un raggruppamento)
e lo stato dell'articolo (se è stato evaso o meno)

In pratica:
Codice:
SELECT     dbo.ArticoliVenduti.articoloID, dbo.Ordini.id_ordine AS pID, SUM(dbo.ArticoliVenduti.quantita) AS Qta, 
                      SUM(dbo.ArticoliVenduti.prezzo * dbo.ArticoliVenduti.quantita) AS price
FROM         dbo.ArticoliVenduti INNER JOIN
                      dbo.Ordini ON dbo.ArticoliVenduti.orderID = dbo.Ordini.id_ordine INNER JOIN
                      dbo.AssegnazioneVenditori ON dbo.Ordini.id_ordine = dbo.AssegnazioneVenditori.ordineID
GROUP BY dbo.Ordini.id_ordine, dbo.ArticoliVenduti.articoloID
Ciò che mi restituisce è corretto ma è incompleto..
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 26-09-2012, 11:02   #6
DarkSiDE
Senior Member
 
L'Avatar di DarkSiDE
 
Iscritto dal: Dec 2001
Città: Lecce
Messaggi: 3936
potrebbe sfuggirmi qualcosa, ma non capisco il problema

la query è corretta, devi solo aggiungere regione, stato e priorità e raggruppare cmq per gli stessi poichè non sono usati dalla funzione di aggregazione.

Diversamente, non ho capito cosa vuoi ottenere
__________________
Non farò mai più affari con khalhell, 4HwGenXX.
DarkSiDE è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria AMD EPYC Venice: dentro Zen 6, i SoC a 256 core ...
HONOR Pad X9 Max recensione, schermo ultra large a meno di 400 euro HONOR Pad X9 Max recensione, schermo ultra large...
Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno Lenovo ThinkPad X1 Carbon Gen 14: il business ul...
Jabra Evolve3 85: le cuffie sia per l'intrattenimento che per il lavoro Jabra Evolve3 85: le cuffie sia per l'intratteni...
MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB...
iPhone 18e svelato in anticipo: ecco cos...
Rockstar ha un piano preciso per il mult...
Un iPhone Duo da oltre 65 mila dollari: ...
Anthropic: IPO tra 70 e 78 dollari, Goog...
SSHole in OpenSSH è già sfruttata: la CI...
Secure Future Group: il rischio cyber si...
Recensione Anker MagGo Power Bank 2 Pro,...
Salesforce Agentforce Coworker: il colle...
Sirui porta l’autofocus luminoso sotto i...
BluePhishing, il nuovo metodo di attacco...
Elon Musk parla dei propulsori Raptor 4 ...
NVIDIA, la vicenda Jensen Huang finisce ...
Spiare un monitor dal cavo HDMI: un'IA a...
Infomaniak lancia lo storage a oggetti S...
Rocket Factory Augsburg ha posticipato i...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 22:49.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v