19 of 20 people found the following review helpful:
5.0 out of 5 stars
Pragmatic ADO.NET is an AWESOME BOOK!!!, 17 Mar 2003
By Christopher Taylor "aspmatrix" - Published on Amazon.com
This review is from: Pragmatic ADO.NET: Data Access for the Internet World (Microsoft .Net Development) (Paperback)
Pragmatic ADO.NET: Data Access for the Internet World
by Shawn Wildermuth
Addison-Wesley Pub Co
The world of ADO.NET can be confusing to someone who is used to the
old versions of ADO. I remember the frustration of trying to wrap my
mind around the new concepts of the "disconnected data"
world.
I read a couple of books that had information on ADO.NET and some
decent examples. Even though the examples helped me grasp some of
the "how to do" questions in my mind, none of them really
explained how the new version of ADO.NET worked, why it was designed
the way it is, or gave any best practices. Luckily, I was able to
review this book and a million pieces of the puzzle came flying into
place.
Pragmatic ADO.NET is an excellent teacher of what ADO.NET is, how it
works, and how the everyday developer can use it. This is THE book to
read if you want to understand how ADO.NET works, and learn best
practices of how to use it.
This book has many examples, but is not over laden with them. They
are shared in a very clear and precise manner, which is always
straight to the point. The examples will help you put into play the
best practices that are discussed in the book. One thing I would have
liked to see were more examples in VB.NET. 99% are in C#.
The book is very well written, and flowed very smoothly from one
topic to the next. Shawn has a way of explaining things very clearly,
and in such a way that anyone can understand. That being said, this
is not a beginner's book. But, is a "Must Read" book for
anyone who knows ADO and wants to go to the world of ADO.NET. More
seasoned developers would also greatly benefit from this book. The
best practices that Shawn shares are priceless, and come from his
real world experiences.
Summary:
Chapter 1: Why ADO.NET
This chapter gives a short history of Universal Data Access, and then
gives a primer on ADO.NET. It discusses why the new ADO.NET is better
than the old ADO, and also goes into things like ADO.NET data
structures and managed providers.
Chapter 2: Getting Connected with ADO.NET.
This chapter deals with connections in the ADO.NET world. SQL Server,
OLE DB, Oracle, and ODBC connections are discussed. Connection
pooling for all these connection types are discussed. Returning OLE
DB database schema information and ADO.NET exception handling are
also covered.
Chapter 3: Commanding the Database.
ADO.NET command types are discussed, as well as how to execute them.
Some other topics include, wrapping stored procedures, using
parameters, and parameterized queries. The chapter ends by covering
Transactions and Batch Queries.
Chapter 4: Reading Data.
All about the world of DataReaders. How they are made, how they work,
etc. Dealing with Database locks, multiple result sets, and working
with datareader Meta Data are some of the other topics covered.
Chapter 5: Constructing DataSets.
This is one of my favorite chapters. It helped put a lot of
my "missing puzzle pieces" in place. DataSets are thoroughly
discussed, and topics include TableMappings, multiple DataTables,
DataAdapters, creating DataSets from XML, etc. The chapter also
covers defining the DataSet schema, which includes how to work with
primary keys, relationships, constraints, triggers, and many other
things.
Chapter 6: Typed DataSets.
This chapter discusses Typed DataSets. What they are, how you make
them, and how to use them. The chapter ends with a discussion on
simplifying Business Object Layers with Typed DataSets.
Chapter 7: Working with DataSets.
Now that we know what DataSets are, this chapter begins working with
them. Topics covered include changing, navigating, searching, and
merging Data in DataSets.
Chapter 8: Updating the Database.
Disconnected data is great, but it "comes at a cost" as Shawn
puts it. This chapter teaches the ins and outs of concurrency in the
ADO.NET world. Inserts, updates, deletes, and the different
concurrency types are covered. It is a great chapter and you will
finish with a great understanding of how to get the DataSet changes
back into the actual Database.
Chapter 9: ADO.NET and XML.
This chapter is all about the DataSet and XML. Getting the data into
XML, saving it as XML, and getting XML to fill a DataSet are a few of
the topics discussed.
Chapter 10: Data Binding with ADO.NET.
This chapter discusses the different types of ADO.NET data binding
for Windows forms and ASP.NET.
Chapter 11: Scalability and Performance.
This is another one of my most favorite chapters from the book.
Shawn's real world experience shines light on to the world of
performance and scalability. When to worry, why to worry, and how to
avoid problems are all discussed. The last section of the chapter is
all about best practices, and is a great read.
Appendix: ADO Migration Strategies
Broad overview of migrating to ADO.NET from ADO. How to migrate ADO
recordsets, connections, and a few other related topics are covered.
In conclusion, I give this book a 10 out of 10. It is an excellent
book, and one that is worth your while to read. I would highly
recommend this book to anyone who knows ADO and wants to move to
ADO.NET, or any .Net developer who wants to know more about ADO.NET.
I wouldn't really change much about it, except I would tell Shawn
not to use Atlanta Braves players in his examples... He should use a
better team, like the Arizona Diamondbacks. :-)
10 of 10 people found the following review helpful:
5.0 out of 5 stars
True to the title, a must-have for any .NET developer, 12 Jan 2003
By Jason A. Salas - Published on Amazon.com
This review is from: Pragmatic ADO.NET: Data Access for the Internet World (Microsoft .Net Development) (Paperback)
I have been fortunate enough to read "Pragmatic ADO.NET - Data Access for the Internet World", a truly great book. I've got a decent enough knowledge of data access as used by the .NET Framework, but this book gave me a wake-up call to precisely how things are done, and how I can better optimize my apps. As such, I got a lot out of it.
It's less of a "techie ramming programming concepts down your throat" approach with impractical and illogical examples you'll never wind up using. On the contrary, author Shawn Wildermuth uses iterative examples using a similar coding design that is consistent throughout the book to connect to a database, and extract/update/manipulate or analyze information, so it sticks with the reader more. I've let some members of the user group I run preview the book and they got more out of it than any other book on ADO.NET so far.
The book is perfectly suited for the intermediate-level, professional developer, as it's not intended to be an introductory book on ADO.NET programming (or database technology, for that matter), so most of the code examples are presented in a way that assumes the reader is familiar with writing data-driven apps. As such, the book doesn't waste time going through 5 meaningless chapters on "What is .NET?", "What is ADO.NET?","What is the CLR?", and other things that drive people just in search of good., useful information crazy. You hit the ground running.
Wildermuth's writing style is great - he uses a tone that is learned, yet not domineering; knowledgeable, but not unfamiliar. Reading his book is like sitting down with a friend and chatting about data access principles. (It's also more than obvious very early on the in the book's code examples that Shawn is an avid fan of the Atlanta Braves). :)
The numerous code examples are easy to follow and are presented in C#. He also runs ... for Web-based support. I also liked the fact that Wildermuth made reference to and cited examples using Visual Studio .NET, but did not explicitly marry the book to Microsoft's IDE, and include all of the proprietary code that is generated because of it, which in my opinion, tends to confuse a reader not using VS .NET, making the book counterproductive. The code is laid out raw, so a developer using some other IDE (or NotePad) can just as much out of it as the VS .NET jock.
At 330 pages (with an excellent appendix on migration) it's a quick read, but nonetheless contains healthy chapters on the DataSet, uses of XML, designing middle-tier business objects, and schema. The book's physical properties are great....the cover is strong and bound tight, with thick paper, so it won't have a broken spine or fall to pieces after 4 nights in your lap while you code. To me at least, this is important.
The book also includes an excellent chapter on implementing a best practice approach to managing your migration to ADO.NET, and appreciating the nature of an the scalability of an application. Wildermuth preaches that ADO.NET, like any technology should be planned and implemented wisely, rather than just deploying next-generation technology merely for the sake of doing so, or in doing so, creating inefficiency.
For criticism, I felt that Chapter 10, "Data Binding with ADO.NET" was a little light, only briefly previewing the use of data in Windows Forms for desktop clients and in WebForms with ASP.NET, and I was surprised to not see more time spent discussing the importance of understanding .NET's data caching facilities. However, it still doesn't take away the fact that this is an excellent book...and one that any .NET developer should definitely get for her library.
9 of 10 people found the following review helpful:
5.0 out of 5 stars
ADO.NET best practices, 15 Jan 2003
By Vagif Abilov "Vagif Abilov" - Published on Amazon.com
This review is from: Pragmatic ADO.NET: Data Access for the Internet World (Microsoft .Net Development) (Paperback)
There are so many books about .NET now, so it's very difficult to make a right choice. You can't go wrong with this one - it provides very systematic coverage of .NET database programming and guide you through DOs and DONTs of it.
This was my second ADO.NET book. After I read (and in fact reviewed) an excellent Bob Beauchemin's "Essential ADO.NET", I thought I wouldn't need another ADO.NET book. But actually I did. There are plenty of ways to solve a database task using .NET, and Shawn Wildermuth carefully guides you through alternatives, not only identifying the best approach but also explaining his reasoning. Here is a brief example: data scalability (chapter 11). Shawn explains different caching scenarios (per user, per application, per server), its drawbacks, discusses how to scale out a DataSet, and if you should duplication or segmentation. Then he gives the following advices (again, with explanations):
1. Use DataSet schema
2. User typed DataSets to create business rule layers
3. Reduce roundtrips to the database
4. Cache data early and often
5. Use the DataReader
6. Use connection factories
7. Do not hard code connection strings
This is just one example of in how this book can help .NET database developer. It helped to get cleaner understanding of .NET database interfaces and its best use.