DataObjects.NET
DataObjects.NET is object-to-database persistence layer for .NET. It transparently handles persistence of your classes allowing you to focus on the code. It handles all types of relations, automatically updates database schema, and much more.