Compartilhar via


ADO.NET Data provider per Entity Framework

Una delle domande che ricevo più spesso, riguarda la disponibilità di provider per EF che abilitino al supporto ai vari DBMS disponibili in commercio.

Da oggi vi consiglio questa pagina su MSDN  come riferimento e dove potete trovare i link alle diverse società di terze parti che realizzano/stanno realizzando tali provider:

Ovviamente per SQL Server non avete bisogno di provider, perchè lo trovate già con l’installazione di ADO.NET Entity Framework presente nella SP1 di .NET 3.5.

Potete vedere una sessione su ADO.NET Entity Framework a questo link.

-Pietro

Comments

  • Anonymous
    February 13, 2009
    Ragazzi, avete provato ad usare questi provider? In azienda stiamo usando in produzione da mesi il provider di DevArt e francamente non ci sentiremmo di consigliare l'adozione di EF a coloro che dovessero sviluppare applicazioni non destinate ad utilizzare SQL Server. IMVHO segnalare in questa sede il suddetto provider rischia di creare delle aspettative destinate a rimanere insoddisfatte... .A

  • Anonymous
    February 13, 2009
    Ciao Andrea, grazie della segnalazione. Quali tipi di problemi hai riscontrato ? Hai provato a segnalare i problemi a DevArt. Ad ogni modo, molti sono scaricabili in trial e quindi valutabili nel proprio contesto, in alternativa si è liberi di valutare altre soluzioni, diverse da Entity Framework.

  • Anonymous
    February 14, 2009
    Problemi? Uno su tutti: randomicamente il provider scatena eccezioni al momento della chiusura di una transazione. Problema:

  • segnalato a DevArt
  • (più o meno) negato da DevArt
  • riprodotto da noi con un sample di 30 righe di codice, e quindi riconosciuto da DevArt
  • in attesa di risoluzione da parte di DevArt Se vuoi avere un quadro preciso della situazione, cerca i ns post (a nome di Roberto Messora) nel forum di supporto di DevArt. Più in generale, stiamo usando il loro provider da giugno 2008 e, nonostante gli aggiornamenti quasi mensili, non ha ancora raggiunto una stabilità paragonabile a quella del provider per SQL Server. Ed è proprio questo il messaggio: probabilmente EF non è ancora fruibile con soddisfazione per la gestione di database non SQL Server e Microsoft dovrebbe prestare maggiore attenzione alla qualità dei driver di terze parti che segnala, onde evitare agli adopter pericolose disillusioni .A
  • Anonymous
    February 14, 2009
    Beh, per quanto riguarda DevArt, quindi, rimaniamo in attesa della loro soluzione.

  • Anonymous
    June 03, 2009
    Salve, grazie mille per la segnalazione. Io però ho provato ad usare Devart sul mio sito e, finchè lancio il programma dal mio pc(Io uso Visual Studio 2008) è tutto ok, quando però provo a pubblicare il mio sito sul server (Window server 2008) mi da un errore che ho segnalato a devart ma che non sono riusciti a rislovere. Considerate che sul mio sito per il momento c'è solo un gridview che usa come source un entity model creato con l'oggetto devart. Ma niente, si riesce a pubblicare ma poi da errore. Ora proverò Virtuoso, che dite?? Avrò gli stessi problemi? Saluti, Silvia Terzi.

  • Anonymous
    June 04, 2009
    Ciao Silvia, sulla macchina con WIN 2008 devi installare, magari l'hai fatto, .NET 3.5 SP1. Nel caso prova a madarmi l'errore che vedo  di capiere meglio: pietrobr@microsoft.com

  • Anonymous
    June 04, 2009
    The comment has been removed

  • Anonymous
    December 10, 2009
    Ciao,  sto sviluppando un EF provider fper DB2 custom, con fw 3.5sp1 e VS2008. Ho usato gli EF samples trovati sui blog ADO.NET blogs (in particolare quello di Jaroslaw Kowalski) come riferimento. Il provider e registrato e tutto quanto, viene visto da VS2008; ho modificato i file ssdl ed xml per adattarli a DB2 UDB. Ho un errore quando cerco di usare il provider per generare un modello: il problema e in una UNION ALL generata da VS dove le liste di colonne in 2 select statemen parte della UNION ALL non sono identiche: SELECT     CAST(0 AS int) AS "C1",     "Extent5"."Id" AS "Id"     ... UNION ALL SELECT     CAST(9 AS int) AS "C1",     "Project4"."C1" AS "C2"     Questo e parte della subselect UnionAll2 . LA subselect viene referenziata in altri vincoli usando "UnionAll2"."Id"  e qui arriva l'errore:in DB2 se specifico 2 alias name differenti per il "nome collettivo" nella UNION ALL, il nome non e piu collettivo (Id e differente da C2...) Dove posso mettere mano al codice per capire dove correggere questa anomalia? Grazie