Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Qrevo Curv 2 Flow è l'ultima novità di casa Roborock per la pulizia di casa: un robot completo, forte di un sistema di lavaggio dei pavimenti basato su rullo che si estende a seguire il profilo delle pareti abbinato ad un potente motore di aspirazione con doppia spazzola laterale
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Abbiamo guidato per diversi giorni la Alpine A290, la prima elettrica del nuovo corso della marca. Non è solo una Renault 5 sotto steroidi, ha una sua identità e vuole farsi guidare
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Abbiamo provato a fondo il nuovo Magic 8 Lite di HONOR, e per farlo siamo volati fino a Marrakech , dove abbiamo testato la resistenza di questo smartphone in ogni condizione possibile ed immaginabile. Il risultato? Uno smartphone praticamente indistruttibile e con un'autonomia davvero ottima. Ma c'è molto altro da sapere su Magic 8 Lite, ve lo raccontiamo in questa recensione completa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 28-10-2010, 14:48   #1
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
[Linq vs Sql]Incongruenze

Ciao a tutti

Mi trovo dinanzi ad uno strano problema, oddio, dico 'strano' forse perchè non ci arrivo da me.

Sto lavorando con Entity Framework.

Allora, se eseguo una query direttamente su sql server, vedo i risultati corretti, se invece, lato client, richiamo la query, i risultati sono diversi, mi spiego:

Codice:
//da sql server
select * from vista

Data --------- Posto ----- Numero ----- Valore
01/10/2010      poltrona          25           2,7
01/10/2010      cabina            25           0,9
02/10/2010      poltrona          25           6,1
03/10/2010      cabina            25           1,8

//etc...
Lato client invece:

Codice:
var result = (from sit in context.MyObject
     where sit.Date.Year == 2010 && sit.Date.Month == 10
     select sit);

//oppure

var result = context.MyObject.Where(sit => sit.Date.Year == 2010 && sit.Date.Month == 10);
Mi succede questo, che se la data è uguale (come nel mio caso), mi mostra:

Codice:
Data --------- Posto ----- Numero ----- Valore
01/10/2010      poltrona          25           2,7
01/10/2010      poltrona            25           2,7
02/10/2010      poltrona          25           6,1
03/10/2010      cabina            25           1,8
Ovvero, non mi mostra l'altro valore presente per lo stesso giorno.

Dove sbaglio ?

Grazie mille

RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 29-10-2010, 09:25   #2
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
uppettino
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 29-10-2010, 11:08   #3
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
edit : scusatemi... non ho risolto..
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek

Ultima modifica di RaouL_BennetH : 29-10-2010 alle 11:24.
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 29-10-2010, 16:18   #4
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Forse ho capito:

se anzichè usare una vista utilizzo una tabella, i risultati sono corretti.
Credo dipenda dal fatto che una vista non ha una chiave primaria.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 29-10-2010, 19:50   #5
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Non ho capito bene il problema.
Cosa hai, cosa sottometti e cosa ottieni?
Comunque termina la tua query sul DB con un .ToArray(), in modo da far tornare i risultati dal mondo database-funzionale a quello vettoriale (o scalare) in memoria.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 30-10-2010, 01:44   #6
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da RaouL_BennetH Guarda i messaggi
Forse ho capito:

se anzichè usare una vista utilizzo una tabella, i risultati sono corretti.
Credo dipenda dal fatto che una vista non ha una chiave primaria.
Nemmeno le tabelle sono obbligate ad avere una chiave primaria.

Credo che il problema sia un altro.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 30-10-2010, 23:00   #7
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Ciao ragazzi e grazie per avermi risposto

@gugoXX

partendo da quello che ho:

lato db, una tabella molto semplice, pari pari a quella indicata all'inizio del 3d.

Se mappo quella tabella con ef, e mi faccio restituire una lista lato client (ho provato sia con una web app che con una winforms), i risultati che vedo in output sono corretti.

Ho fatto poi una vista su quella tabella, banalmente con create view bla as select * from tabella.

Ecco, se mappo la view con ef, i risultati non sono corretti. Succede che se ci sono più eventi per una stessa data, in output ottengo soltanto gli eventi presenti in corrispondenza della prima data e non delle altre, cioè:

Codice:
30/10/2010      asd      bla    xxx
30/10/2010      asd      bla    xxx

//mentre invece dovrebbe essere
30/10/2010      asd      bla    xxx
30/10/2010      ggg      mna  123
Su sql server invece, sia che interrogo la tabella, sia che interrogo la vista, i risultati sono corretti entrambi.

Ho appena provato il metodo .ToArray() ma il risultato non cambia.


@cdimauro

Ne sono certo. Ho da poco intrapreso la mia avventura con LinQ e Entity Framework ( di cui mi sono innamorato perso!!) . E' molto vasto e al momento riesco a fare solo qualcosa di molto primitivo
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 30-10-2010, 23:47   #8
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Purtroppo non lavoro in C# per cui non saprei come darti una mano.

Posso soltanto dirti che ho realizzato in Python qualcosa di simile a LINQ & ORM (di SQL mancano soltanto le JOIN da implementare), per cui ti capisco benissimo.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 31-10-2010, 10:35   #9
khelidan1980
Senior Member
 
L'Avatar di khelidan1980
 
Iscritto dal: Mar 2005
Città: Morimondo city
Messaggi: 5491
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Purtroppo non lavoro in C# per cui non saprei come darti una mano.

Posso soltanto dirti che ho realizzato in Python qualcosa di simile a LINQ & ORM (di SQL mancano soltanto le JOIN da implementare), per cui ti capisco benissimo.
Ma dormi anche te??

Ps: scusate l'OT!
__________________
Khelidan
khelidan1980 è offline   Rispondi citando il messaggio o parte di esso
Old 31-10-2010, 15:53   #10
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Dormire è parola grossa per un papà.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 03-11-2010, 16:17   #11
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
ragazzi, non riesco a venirne a capo

E' assurdo. Devo ricorrere ad una stored perchè dalla vista i dati non li tiro fuori.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 05-11-2010, 22:03   #12
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Quote:
Originariamente inviato da RaouL_BennetH Guarda i messaggi
ragazzi, non riesco a venirne a capo

E' assurdo. Devo ricorrere ad una stored perchè dalla vista i dati non li tiro fuori.
Il problema e' ovviamente non replicabile da qui, dato che se quanto hai descritto e' corretto, il risultato e' ovviamente errato.
Non ho pero' capito perche' tu debba passare attraverso una alternativa stored procedure, dato che e' una filosofia un poì contraria, seppur compatibile, con LINQ
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2010, 23:37   #13
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Quote:
Originariamente inviato da gugoXX Guarda i messaggi
Il problema e' ovviamente non replicabile da qui, dato che se quanto hai descritto e' corretto, il risultato e' ovviamente errato.
Non ho pero' capito perche' tu debba passare attraverso una alternativa stored procedure, dato che e' una filosofia un poì contraria, seppur compatibile, con LINQ
Ciao gugoXX

Domani posto l'intera struttura "incriminata", io sono sicuro di aver sbagliato qualcosa o nella creazione della vista o nel come sto utilizzando ef o, cosa ancora più probabile, ho sbagliato entrambe le cose.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Roborock Qrevo Curv 2 Flow: ora lava con un rullo Roborock Qrevo Curv 2 Flow: ora lava con un rull...
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite Alpine A290 alla prova: un'auto bella che ti fa ...
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile Recensione HONOR Magic 8 Lite: lo smartphone ind...
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
Il nuovo MacBook 'low cost' arriver&agra...
Pokémon Rosso Fuoco e Verde Fogli...
Risparmiare con le offerte Amazon: weeke...
Gli Xiaomi 17 arrivano a fine febbraio, ...
48.000 Pa a poco più di 100€: la ...
PC più potente, meno spesa: su Amazon to...
Con 2 acquisti si ottiene il 40% di scon...
Blocco VPN in Spagna durante le partite ...
ECOVACS DEEBOT T30C OMNI GEN2 torna a 34...
Cercate uno smartphone? Ecco 7 modelli i...
Paramount non molla: Netflix è pr...
Missione Artemis II diretta verso la Lun...
Toy Story 5 arriva al cinema: è l...
Intel cambia rotta su Linux? Nuove assun...
Samsung aggiorna Bixby con One UI 8.5: p...
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: 12:19.


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