I've been playing around with some of the cool .NET tools that have been ported from Java lately. The simplest and most standard ones are NUnit for unit testing and Log4Net for logging. I got NUnit v2.0 working no problem with .NET v1.1 and really like the idea of using it for automated unit testing. On the other hand, Log4Net v1.1, which SharpReader uses, looks good, but I still haven't gotten it to actually work. Finally, I've been testing Thona Consulting's EntityBroker, which is the first O/R mapper for .NET. Object/relational mappers, also known as persistence frameworks, are well established in the Java world, but are new to most Microsoft developers. They basically allow you to totally skip writing or generating code for your DAL (data access layer) and domain objects so you can focus on objects. You just define your objects and use some attributes to map them to the proper database tables, fields, and relationships. That's all -- and it really works! I just gave a demo to a group of friends, and I never had to write any SQL or data access code. It worked equally well with both MS SQL and Access, as well as both Windows Forms and ASP.NET, including databinding in both. I'm definitely convinced this is something worth knowing about, since it radically simplifies development and maintenance. I'll admit, however, that I'm still shaking a little since this goes against the normal stored procedure paradigm that I'm used to with Microsoft. But even there, its worth remembering that Microsoft itself will be in this game soon with ObjectSpaces, so . . .
Please let me know your thoughts and experiences on NUnit, Log4Net, and O/R mappers in general.