There was a knock on my door this morning. By the time I could make it to the front of the house, the delivery man was gone, but he had left behind a box full red and white books, each with the title Essential LINQ. On the cover was my name, and the name of my good friend Dinesh Kulkarni. This was, of course, a box full of the first copies of my most recent book. They had a arrived at my house on a most propitious date: the first day of spring.

 

 

Holding a copy of my new book in my hands was most pleasurable. Dinesh and I have been working on this text for so many months that I long ago ceased to believe that it would ever actually be published. Instead, I began to think of it simply as a device for stealing my weekends, and for keeping me up late at night when I should be sleeping. And of course, on those rare occasions when I was sleeping, it would bring me awake with a start, my brain repeating the anxious mantra: “The book is not done yet, and chapters are past due!”

We worked hard on this book, and did our best to make it readable. I’m particular proud of the many chapters by Dinesh Kulkarni, the Program Manager who created LINQ to SQL. Dinesh is not only a wonderful human being, but also a brilliant and very hard working engineer. The chapters on LINQ to SQL that he contributed to this book are the best commentaries on the subject that I have ever read. He also contributed a chapter on LINQ to Entities, and an invaluable chapter on LINQ Best Practices. This latter chapter I consider essential reading for everyone who cares about LINQ.

Both Dinesh and I believe in LINQ, and we both wanted to create a text that would be helpful, thorough and easy to understand. It is my hope that we make a good team, and that our skills complement one another. Certainly I enjoyed the opportunity to work closely with Dinesh. We met once a week for a nearly a year to discuss the book. Afterwards, we would often go to lunch, where we would eat vegetarian Indian food and talk about computers, politics, economics, and anything else that came into our head. I always enjoyed those discussions, and consider them one of the great benefits I derived from having the opportunity to help write Essential LINQ.

Here are some links to the book:

kick it on DotNetKicks.com