[Ado.net] RE: [Ado.net] Verständnisfrage

Claudius Ceteras ado.net@glengamoi.com
Sun, 22 May 2005 16:13:07 +0200


> Worin besteht der Vorteil in der Verwendung von IDbConnection?
> Soweit ich mich durchgegoogled habe, besteht der Vorteil in der
> Providerunabhängigkeit. 

Genau!

> Wen dem so ist, so weit so gut. Dann finde ich aber wieder 
> Beispiele wie
> diesen 
> 
>  Private Shared Function MyDbAdapter(ByVal cmd As IDbCommand) As
> IDataAdapter
>      Return New SqlDataAdapter(CType(cmd, SqlCommand))
>  End Function
> 
> und dann farge ich mich, wo jetzt meine 
> Providerunabhängigkeit geblieben
> ist?
> Dann hätte ich doch auch gleich so schreiben können:
> 
>  Private Shared Function MyDbAdapter(ByVal cmd As SqlConnection) As
> SqlDataAdapter
>      Return New SqlDataAdapter(CType(cmd, SqlCommand))
>  End Function

Nicht ganz... Der Witz an der Sache ist ja, dass Du die
Provider-Abhängigkeit möglichst klein hältst.
D.h Du machst eine Klasse, die alles Providerabhängigen Klassen erzeugen
kann und als providerunabhängiges Interface(z.B. IDataAdapter usw) rausgibt.
Alle Schichten die darauf aufbauen sind dann Providerunabhängig. Wenn Du auf
ne neue DB aufsetzen willst, brauchst Du nur noch diese Klasse anzupassen,
weil der Rest provider-unabhängig ist.

Alle Unklarheiten beseitigt?


Claudius