Fog Creek Software
Discussion Board




Welcome! and rules

Joel on Software

ADO and ADO.NET

CAn someone tell me what's the difference between the two? why should I consider porting my code to ado.net?

.net
Thursday, December 05, 2002

Whew, big topic.

First, forget all the propaganda that Microsoft has put out about ADO.NET being an evolutikonary step from ADO. It's not. It's all-new stuff that shares the same name. Existing code needs to be rewritten more than ported.

Why do it? Well, for some applications ADO.NET is faster and more flexible. It's primarily aimed at ease of use for distributed applications that need disconncted data and data movement between tiers. If you've worked with disconnected recordsets in ADO you'll recognize some concepts.

ADO.NET can also be faster than ADO for particular data sources, because it talks straight to the low-level protocols; Microsoft has pretty well abandoned the one-size-fits-all plumbing of ODBC and OLE DB. Notably, you'll see speed benefits for SQL Server data access.

I could go on (and have, at book length), but that's a start which others can no doubt expand on.

Mike Gunderloy
Thursday, December 05, 2002

Probably the biggest benefit of ADO.NET, apart from that it will probably cause more people to use forward-only, read-only disconnected client cursors, is that it has a "in-memory" fully relational database facility (they'd been working on such in-memory tables for a long time...it was a promised feature of ADO 2.0): Basically you can fill several relational tables with data and then work with them "in memory" and query them in a relational way. There are only a few, very esoteric purposes for this, and honestly overall ADO.NET has been oversold: It really isn't revolutionary, but rather is basically some ADO templates and an add-on.

Dennis Forbes
Friday, December 13, 2002

*  Recent Topics

*  Fog Creek Home