Domanda

Sono andato avanti e indietro su questo problema e non riesco a capire il modo migliore per farlo.

Ecco la situazione:

  • Accedi al database (prodotto di terze parti) con i dati di cui ho bisogno, da un buon numero di tabelle (18 tabelle)
  • Idealmente, ho bisogno di provare a ottenere record in oggetti fortemente tipizzati in qualche modo in modo che io possa interrogare con LINQ
  • Le classi LINQ to SQL non supportano il provider ODBC (questo mi avrebbe fatto tornare a casa gratuitamente)
  • NON ho bisogno di inserire / aggiornare / cancellare. Seleziona / leggi solo.

Ho preso in giro l'idea di esportare le tabelle in XML (non è poi così tanto), ma poi devo ancora affrontare il problema di costruire lo schema e generare le classi. Dal momento che è una fonte ODBC dovrebbe esserci un modo per ORM questo, giusto?

Come lo risolveresti?

È stato utile?

Soluzione

Puoi farlo usando nHibernate, poiché supporta MS Access come back-end. Ecco i dettagli sull'uso di nHibernate con MS Access . Utilizza NHibernate.JetDriver.dll per accedere al motore dati Jet (MS Access).

Devi solo capire che MS Access non ti darà le stesse prestazioni / supporto / etc della maggior parte degli altri back-end DB con un ORM.

Altri suggerimenti

La dll per l'utilizzo di NHibernate in Acccess sembra essere su sourceForge (basta cercare su Google, non controllare)
http://sourceforge.net/project/shownotes.php?release_id=460590
Se stai solo richiedendo l'accesso, potrebbe valere la pena definire le viste in un database relazionale In questo modo avrai una soluzione per utilizzare una forma di cache / istantanea in seguito (ad esempio convertendo le tue visualizzazioni in tabella che aggiorni ogni ora / 5 minuti, ecc. A seconda delle tue aspettative) se le prestazioni peggiorano troppo.

Ho appena risposto alla mia domanda ...

Posso semplicemente stabilire la connessione ODBC in Esplora server, trascinare le tabelle direttamente in un DataSet predefinito e usare un TableAdapter.Fill ()

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top