Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Linq e ADO.Net Entity Framework

4 views
Skip to first unread message

Giovanni

unread,
Oct 12, 2009, 7:55:01 AM10/12/09
to
Un saluto a tutti.
Sto cercando di capire Linq attraverso l'Entity Framework.
Qualcuno mi potrebbe spigare, senza entrare troppo nei particolari, le
differente tra L'Entity SQL e Linq to Entities.
Grazie e ciao.
Giovanni

Andrea Soldano

unread,
Oct 12, 2009, 8:21:05 AM10/12/09
to

L'entity framework è un ORM uno strumento che mappa le tabelle in
entità-classi.
http://en.wikipedia.org/wiki/ADO.NET_Entity_Framework

Linq è un componente del .Net framework e consente di fare
interrogazioni t-sql like su:

oggetti (linq 2 object)
xml (linq 2 xml)
db (linq 2 sql)
http://it.wikipedia.org/wiki/LINQ

Ciao,
Andrea SOLDANO

Giovanni

unread,
Oct 12, 2009, 9:49:01 AM10/12/09
to

"Andrea Soldano" wrote:

Forse non sono tato chiaro nel formulare la domanda. Intendevo la differenza
tra tra i due metodi (Entity SQl e Linq to Entities) di inerrogare e
manipolare i dati tramite l'EDM.
Ciao
Giovanni

Andrea Soldano

unread,
Oct 12, 2009, 10:18:14 AM10/12/09
to

la tua domanda se non ho capito male è:
che differenza c'è tra "linq 2 sql" e l'"entity framework"?

prova a cercare su google:
http://www.google.it/search?hl=it&rlz=1C1GGLS_itIT348&q=linq+2+sql+vs+entity+framewok&btnG=Cerca&meta=

Ti aiuta?

Ciao,
Andrea

Giovanni

unread,
Oct 12, 2009, 10:28:02 AM10/12/09
to

"Andrea Soldano" wrote:

No, quello che voglio sapere é la differenza,
nell'interrogazione/manipolazione dati tramite EDM, tra questo:
http://msdn.microsoft.com/it-it/library/bb399560.aspx
e questo:
http://msdn.microsoft.com/it-it/library/bb386964.aspx
Ciao e grazie
Giovanni

Andrea Soldano

unread,
Oct 12, 2009, 12:06:52 PM10/12/09
to
> >http://www.google.it/search?hl=it&rlz=1C1GGLS_itIT348&q=linq+2+sql+vs...

>
> > Ti aiuta?
>
> No, quello che voglio sapere é la differenza,
> nell'interrogazione/manipolazione dati tramite EDM, tra questo:http://msdn.microsoft.com/it-it/library/bb399560.aspx
> e questo:http://msdn.microsoft.com/it-it/library/bb386964.aspx
> Ciao e grazie
> Giovanni

OK, scusa ... alla fine ci siamo capiti :)

Vediamo se rapidamente riesco a riepilogare le relazioni:

Entity SQL e il nome del linguaggio, "T-SQL like", utilizzato
dall'entity framework per creare le query.

Una query Linq to Entities crea implicitamente un oggetto di tipo
ObjectQuery. C'è un solo modo per creare un oggetto di tipo
ObjectQuery, utilizzare l'Entity Framework's Object Services
(namespace System.Data.Objects). Quando crei direttamente un oggetto
ObjectQuery per costruire le query dovrai utilizzare una sintassi "T-
SQL like" chiamata Entity SQL.

La sintassi Linq to Entities viene quindi trasformata in Entity SQL.
Linq to Entities è una sintassi più semplice da imparare e da usare
rispetto a Entity SQL.

La domanda nasce spontanea: perchè due sintassi per scrivere le Query?
La risposta è legata alla storia del prodotto. Entity SQL è stata la
prima sintassi scritta da Microsoft per costruire query sulle Entità.
LINQ invece è stato sviluppato come estensione dei linguaggi VB e C#.
E' risultato ovvio che l'integrazione di LINQ nell'entity framework
sarebbe stata semplicemente geniale così è nato LINQ to Entities.

Spero di essere stato chiaro.
Ciao,
Andrea SOLDANO

Giovanni

unread,
Oct 12, 2009, 1:35:52 PM10/12/09
to

"Andrea Soldano" <soldan...@gmail.com> wrote in message
news:f577ee8e-f16c-459d...@l13g2000yqb.googlegroups.com...


> On 12 Ott, 16:28, Giovanni <Giova...@discussions.microsoft.com> wrote:
>> "Andrea Soldano" wrote:
>> > On 12 Ott, 15:49, Giovanni <Giova...@discussions.microsoft.com> wrote:
>> > > "Andrea Soldano" wrote:
>> > > > On 12 Ott, 13:55, Giovanni <Giova...@discussions.microsoft.com>
>> > > > wrote:
>> > > > > Un saluto a tutti.
>> > > > > Sto cercando di capire Linq attraverso l'Entity Framework.
>> > > > > Qualcuno mi potrebbe spigare, senza entrare troppo nei
>> > > > > particolari, le
>> > > > > differente tra L'Entity SQL e Linq to Entities.
>> > > > > Grazie e ciao.
>> > > > > Giovanni
>>

>> > > > L'entity framework � un ORM uno strumento che mappa le tabelle in
>> > > > entit�-classi.
>> > > >http://en.wikipedia.org/wiki/ADO.NET_Entity_Framework
>>
>> > > > Linq � un componente del .Net framework e consente di fare


>> > > > interrogazioni t-sql like su:
>>
>> > > > oggetti (linq 2 object)
>> > > > xml (linq 2 xml)
>> > > > db (linq 2 sql)
>> > > >http://it.wikipedia.org/wiki/LINQ
>>
>> > > Forse non sono tato chiaro nel formulare la domanda. Intendevo la
>> > > differenza
>> > > tra tra i due metodi (Entity SQl e Linq to Entities) di inerrogare e
>> > > manipolare i dati tramite l'EDM.
>> > > Ciao
>> > > Giovanni
>>

>> > la tua domanda se non ho capito male �:
>> > che differenza c'� tra "linq 2 sql" e l'"entity framework"?


>>
>> > prova a cercare su google:
>> >http://www.google.it/search?hl=it&rlz=1C1GGLS_itIT348&q=linq+2+sql+vs...
>>
>> > Ti aiuta?
>>

>> No, quello che voglio sapere � la differenza,


>> nell'interrogazione/manipolazione dati tramite EDM, tra
>> questo:http://msdn.microsoft.com/it-it/library/bb399560.aspx
>> e questo:http://msdn.microsoft.com/it-it/library/bb386964.aspx
>> Ciao e grazie
>> Giovanni
>
> OK, scusa ... alla fine ci siamo capiti :)
>
> Vediamo se rapidamente riesco a riepilogare le relazioni:
>
> Entity SQL e il nome del linguaggio, "T-SQL like", utilizzato
> dall'entity framework per creare le query.
>
> Una query Linq to Entities crea implicitamente un oggetto di tipo

> ObjectQuery. C'� un solo modo per creare un oggetto di tipo


> ObjectQuery, utilizzare l'Entity Framework's Object Services
> (namespace System.Data.Objects). Quando crei direttamente un oggetto
> ObjectQuery per costruire le query dovrai utilizzare una sintassi "T-
> SQL like" chiamata Entity SQL.
>
> La sintassi Linq to Entities viene quindi trasformata in Entity SQL.

> Linq to Entities � una sintassi pi� semplice da imparare e da usare
> rispetto a Entity SQL.
>
> La domanda nasce spontanea: perch� due sintassi per scrivere le Query?
> La risposta � legata alla storia del prodotto. Entity SQL � stata la
> prima sintassi scritta da Microsoft per costruire query sulle Entit�.
> LINQ invece � stato sviluppato come estensione dei linguaggi VB e C#.


> E' risultato ovvio che l'integrazione di LINQ nell'entity framework

> sarebbe stata semplicemente geniale cos� � nato LINQ to Entities.


>
> Spero di essere stato chiaro.

Scusa... ma mi interessava di pi� sapere i pregi e i difetti dell'uno e
dell'altro, la velocit� di esecuzione oppure in quale conteso � meglio l'uno
o l'altro.
Grazie e ciao
Giovanni

Andrea Soldano

unread,
Oct 13, 2009, 9:03:31 AM10/13/09
to
On 12 Ott, 19:35, "Giovanni" <ggava...@yahoo.it> wrote:
> "Andrea Soldano" <soldanoand...@gmail.com> wrote in message

>
> news:f577ee8e-f16c-459d...@l13g2000yqb.googlegroups.com...
>
>
>
> > On 12 Ott, 16:28, Giovanni <Giova...@discussions.microsoft.com> wrote:
> >> "Andrea Soldano" wrote:
> >> > On 12 Ott, 15:49, Giovanni <Giova...@discussions.microsoft.com> wrote:
> >> > > "Andrea Soldano" wrote:
> >> > > > On 12 Ott, 13:55, Giovanni <Giova...@discussions.microsoft.com>
> >> > > > wrote:
> >> > > > > Un saluto a tutti.
> >> > > > > Sto cercando di capire Linq attraverso l'Entity Framework.
> >> > > > > Qualcuno mi potrebbe spigare, senza entrare troppo nei
> >> > > > > particolari, le
> >> > > > > differente tra L'Entity SQL e Linq to Entities.
> >> > > > > Grazie e ciao.
> >> > > > > Giovanni
>
> >> > > > L'entity framework è un ORM uno strumento che mappa le tabelle in
> >> > > > entità-classi.
> >> > > >http://en.wikipedia.org/wiki/ADO.NET_Entity_Framework
>
> >> > > > Linq è un componente del .Net framework e consente di fare

> >> > > > interrogazioni t-sql like su:
>
> >> > > > oggetti (linq 2 object)
> >> > > > xml (linq 2 xml)
> >> > > > db (linq 2 sql)
> >> > > >http://it.wikipedia.org/wiki/LINQ
>
> >> > > Forse non sono tato chiaro nel formulare la domanda. Intendevo la
> >> > > differenza
> >> > > tra  tra i due metodi (Entity SQl e Linq to Entities) di inerrogare e
> >> > > manipolare i dati tramite l'EDM.
> >> > > Ciao
> >> > > Giovanni
>
> >> > la tua domanda se non ho capito male è:
> >> > che differenza c'è tra "linq 2 sql" e l'"entity framework"?

>
> >> > prova a cercare su google:
> >> >http://www.google.it/search?hl=it&rlz=1C1GGLS_itIT348&q=linq+2+sql+vs...
>
> >> > Ti aiuta?
>
> >> No, quello che voglio sapere é la differenza,

> >> nell'interrogazione/manipolazione dati tramite EDM, tra
> >> questo:http://msdn.microsoft.com/it-it/library/bb399560.aspx
> >> e questo:http://msdn.microsoft.com/it-it/library/bb386964.aspx
> >> Ciao e grazie
> >> Giovanni
>
> > OK, scusa ... alla fine ci siamo capiti :)
>
> > Vediamo se rapidamente riesco a riepilogare le relazioni:
>
> > Entity SQL e il nome del linguaggio, "T-SQL like", utilizzato
> > dall'entity framework per creare le query.
>
> > Una query Linq to Entities crea implicitamente un oggetto di tipo
> > ObjectQuery. C'è un solo modo per creare un oggetto di tipo

> > ObjectQuery, utilizzare l'Entity Framework's Object Services
> > (namespace System.Data.Objects). Quando crei direttamente un oggetto
> > ObjectQuery per costruire le query dovrai utilizzare una sintassi "T-
> > SQL like" chiamata Entity SQL.
>
> > La sintassi Linq to Entities viene quindi trasformata in Entity SQL.
> > Linq to Entities è una sintassi più semplice da imparare e da usare
> > rispetto a Entity SQL.
>
> > La domanda nasce spontanea: perchè due sintassi per scrivere le Query?
> > La risposta è legata alla storia del prodotto. Entity SQL è stata la
> > prima sintassi scritta da Microsoft per costruire query sulle Entità.
> > LINQ invece è stato sviluppato come estensione dei linguaggi VB e C#.

> > E' risultato ovvio che l'integrazione di LINQ nell'entity framework
> > sarebbe stata semplicemente geniale così è nato LINQ to Entities.

>
> > Spero di essere stato chiaro.
>
> Scusa... ma mi interessava di più sapere i pregi e i difetti dell'uno e
> dell'altro, la velocità di esecuzione oppure in quale conteso è meglio l'uno

> o l'altro.
> Grazie e ciao
> Giovanni

Ciao Giovanni,
considera che le query vengono sempre e solo eseguite nel linguaggio
Entity SQL.
Se usi Linq to Entities la query viene generata automaticamente.
Possono esserci casi in cui il "T-SQL like" autogenerato non sia
estremamente performante. In quei casi scrivere a mano la sintassi
Entity SQl può essere utile.
Nella mia esperienza ho quasi sempre lasciato generare l'entity SQL da
Linq to Entities. Ho riscritto l'Entity SQL per alcune query poco
performanti e per generare query dinamiche a runtime.

saluti,
Andrea SOLDANO

Giovanni

unread,
Oct 14, 2009, 1:07:53 PM10/14/09
to

"Andrea Soldano" <soldan...@gmail.com> wrote in message

news:720cb176-1316-4c89...@v25g2000yqk.googlegroups.com...


> Ciao Giovanni,
> considera che le query vengono sempre e solo eseguite nel linguaggio
> Entity SQL.
> Se usi Linq to Entities la query viene generata automaticamente.
> Possono esserci casi in cui il "T-SQL like" autogenerato non sia
> estremamente performante. In quei casi scrivere a mano la sintassi

> Entity SQl pu� essere utile.


> Nella mia esperienza ho quasi sempre lasciato generare l'entity SQL da
> Linq to Entities. Ho riscritto l'Entity SQL per alcune query poco
> performanti e per generare query dinamiche a runtime.

Grazie per le info.
Poi a questo link:
http://msdn.microsoft.com/it-it/library/bb738573.aspx
ho trovato questo:
Funzionalit� Transact-SQL non disponibili in Entity SQL
Le funzionalit� Transact-SQL seguenti non sono disponibili in Entity SQL.
DML
Entity SQL non fornisce attualmente supporto per le istruzioni DML (INSERT,
UPDATE, DELETE).
DDL
Entity SQL non fornisce supporto per DDL nella versione corrente.

Che significa? Non si possono fare insert-update ecc...?
Grazie e ciao.
Giovanni

Andrea Saltarello

unread,
Oct 16, 2009, 5:40:54 AM10/16/09
to
> Che significa? Non si possono fare insert-update ecc...?
significa che le INSERT/UPDATE/DELETE non le fai mediante ESQL/LINQ, bens�
usando l'object context


--
.A
GUISA - http://www.guisa.org
UGIdotNET - http://www.ugidotnet.org
Read my blog at: http://blogs.ugidotnet.org/pape

Giovanni

unread,
Oct 16, 2009, 1:31:16 PM10/16/09
to

"Andrea Saltarello" <andrea.s...@ugidotnetTOGLI.MIorg> wrote in
message news:#ms0CTkT...@TK2MSFTNGP02.phx.gbl...


>> Che significa? Non si possono fare insert-update ecc...?
> significa che le INSERT/UPDATE/DELETE non le fai mediante ESQL/LINQ, bens�
> usando l'object context

Grazie
Ciao
Giovanni

0 new messages