PLINQO for NHibernate 1.0 Released!

PLINQO makes NHibernate "so easy, even a caveman can do it."

PLINQO for NHibernate

PLINQO can generated your HBM files, entity classes, and all NHibernate configuration in seconds. It then allows you to safely regenerate that code at anytime, thus synchronizing your mappings with the database while still intelligently preserving custom changes. PLINQO for NHibernate is an enhance and simplify wrapping of NHibernate that brings the best practices, optimizations, and convenience of the PLINQO frameworks to NHibernate.

PLINQO offers these features over standard NHibernate:

  • Data Layer Generation
    • Generate your HBM files from your database.
    • Supports Tables, Views, and Stored Procedures.
    • Supports associations and composite keys.
    • Generate your Entities from your HBM files.
  • Safe Regeneration
    • Safely regenerate your data layer against your database.
    • Intelligently seeks out and merges data changes with code changes.
    • Ability to filter what gets updated from the database.
  • Intuitive File Structure
    • Each generated class is separated into editable and generated files.
    • Complex types are generated into an organized folder structure.
  • Query Logic
    • Generates chainable query extension methods that simplify query logic.
    • Query extensions support advanced comparison and containment operators.

Download PLINQO for NHibernate, or watch the overview video.

[Test]
public void Promotion()
{
    // The NHibernate Session is created for you.
    using (var db = new TrackerDataContext())
    {
        // Query a User from the database.
        User tom = db.User
            .ByFirstName("Tom")
            .ByLastName("DuPont")
            .FirstOrDefault();

        // Query a Role from the database.
        Role manager = db.Role
            .ByName("Manager")
            .FirstOrDefault();

        // RoleList is a Many to Many collection.
        tom.RoleList.Add(manager);

        // Flush all changes to the database.
        db.SubmitChanges();
    }
}

Shout it