NHibernate is a mature, open-source object-relational mapper for the .NET framework. It's actively developed, fully featured, and used in thousands of successful projects. Easily map regular C# or VB.NET object models designed in Visual Studio. No special base classes or attributes are needed. Fully supports inheritance, components, and enums.