Confusione usando TableAdapter e FactoryProvider

giovedì 12 ottobre 2006 - 18.25

satoshy Profilo | Newbie

Ciao a tutti,
mi stanno venendo forti dubbi sull'utilizzo di TableAdapter insieme a factory Provider spero che qualcuno mi aiuti a capire. Mi spiego :stordita:

Supponiamo di voler progettare un cms astraendolo dalla base dati (mettiamo ho 2-3 sorgenti dati diverse es. SqlExpres - MySql - Sqlite). A questo punto dovrei creare un layer di astrazione dati basato su diversi TableAdapter fortemente tipizzati.

Perciò farò ad esempio una serie di TableAdapter 's con i metodi personalizzati che mi servono:

[B]contentsTableAdpater[/B]
[I]getAllContents()[/I]
[I]getContentByID(@id)[/I]
[I]getContentsByAuthor(@author)[/I]
[I]modifiyContent(@id,@titolo,@testo..)[/I]
[I]deleteContentByID(@id)[/I]
etc..

[B]usersTableAdpater[/B]
[I]getAllUsers()[/I]
[I]getUserByID(@id)[/I]
[I]getUserByName(@name)[/I]
[I]modifiyUser(@id,@username,@password..)[/I]
[I]deleteUserByID(@id)[/I]
etc..

A questo punto mi sorge un dubbio.. io vorrei richiamare attraverso il providerFactory il tableAdapter adeguato per la base dati che stò utilizzando.

Non sò se mi sono spiegato bene..

Attraverso il providerFactory io posso fare una cosa del genere:


Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra


Però questo non mi permette di scegliere un TableAdapter adeguato alla mia base dati [B]ma solo un DataAdpater per quel provider dati che voglio usare[/B] (mettiamo di tipo SqlDataAdpater) e i dataAdpater ormai sono poco usati...


:confused: :confused:

Il fatto è che non si può integrare la logica del factory provider direttamente in un tableAdapter personalizzato perchè quest'ultimo è strettamente legato con UN SOLO tipo di connessione (infatti nel wizard di vs2005 ti chiede quale connessione vuoi usare).

Spero che qualcuno mi aiuta a chiarire..
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5