|
|
Book Review: Microsoft ADO.NET Core ReferenceISBN: 0735614237 | | If you are interested in learning ADO.NET, you are going to have to put some effort into it. You may have heard the adage that the best way to learn ADO.NET is to forget everything you know about ADO. From my experience, I think that's true. However, getting some good books on the subject will help and the ADO.NET Core Reference by David Sceppa
The Basics:
There are just under 700 pages in this book including appendices and acknowledgements totalling 14 chapters. It's broken into 4 sections, "Getting Started with Microsoft ADO.NET", "Getting Connected: Using a .NET Data Provider", "Working with Offline Data- The ADO.NET Dataset" and finally "Building Effective Applications with ADO.NET" Basically, it starts out explaining the 'whats' and 'whys' of ADO.NET and finishes up showing you how to deal with really complex data access scenarios.
What's Cool:
There are many things to really like about this book. A few things come to mind. First off, all of the examples are written in VB.NET and C# and they are presented in the text, you don't have to go to the CD to find the code if you write in a different language. He also has a "Questions that should be asked more frequently" section at the end of the chapter. These are priceless. Another thing I really liked is that this book has a theoretical vent to, and you really learn why things are 'right' and 'wrong' and how to make those determinations. However, he loads the book with relevant examples and if you don't want to learn a thing about ADO.NET theory, this book has tons of examples of things you'll run into every day. However, it would truly be a waste to not read this book and learn what Sceppa is trying to convey. ADO.NET is so fundamentally different, and many people mistakenly think it's nothing more than ADO on steriods. Actually, the only things it has in common with ADO is that they share the first 3 letters of their names and came from Microsoft.
Sceppa goes into tremendous detail on using the 'connected' objects of ADO.NET which include a few of the Command Object's methods and the DataReader. You see, many people think that ADO.NET is a totally disconnected model, and it's not. In fact, many tasks are terribly suited to disconnected methodology. Like what? Like retrieving individual values from a database (either way you have to make at least one trip to the DB, so why incur the additional overhead associated with Disconnected Objects). And if you fail to understand these distinctions, you'll write sloppy code and waste resources.
He then goes into the nuances of using Parameters, Stored Procedures and user defined functions. This is really important because in todays atmosphere where security , performance and scalability can make or break your app, your success or failure may depend on your understanding of how to deal with these issues. He goes into just about everything that you'll need to know... Input Parameters, Output Parameters, Return Values, you name it, he discusses it.
He then goes onto to a great discussion of disconnected objects, namely the DataAdapter, the DataTable, DataView and DataSet. If you are going ot learn ADO.NET, you can't do much without these.
Finally, he discusses web services and XML, which you will undoubtedly be confronted with at some point in your career.
What really matters is Sceppa's discussion of relevant real world issues. He has many examples showing you how to effectively use Identity (AutoIncrement) fields, Primary and Foreign Keys, Indexes, Filtering, Searching, Binding Data to controls, Relationships, you name it, he discusses it in depth and has examples on how to do it right.
What's Missing:
Not much. The only thing I wish he would have discussed is Microsoft's Data Access Application Block. In addition, he doesn't go into much detail about writing database agnostic implementations and dealing with stateless middle tiers. (He does discuss the latter, but I wished there was some more detail).
Overall:
This book is excellent and if you want to do any real ADO.NET development, you'll want it in your library. |
|