Maxim Karpov has recently written a very good blog entry titled: Polymorphic Behavior of [the] ADO.NET Object Model. Maxim begins his article with an examination of what, exactly, polymorphism is and then turns to illustrating how polymorphism is achieved in ADO.NET through interfaces (IDbConnection, IDbCommand, and so on). Maxim's article uses the Data Access Application Block 3.0 as a case study, showing how the DAAB 3.0's abstract class factory allows for the DAAB to work with any data store (not just MS SQL Server).
A good read for those new to object-oriented programming and wanting more of a background in one of the cornerstones of OOP (polymorphism), as well as a must-read for those who are using or are planning on using the latest version of the DAAB.