Well, maybe not, but it has quickly become my favorite tool for writing .NET applications.  I’ve been using it to write the persistence layer for a brand-new enterprise application we’re building, and so far, it’s elegantly supported every single thing I’ve wanted to do.  LINQ?  Got it.  Part-of relationships?  Easy.  Many-to-many?  No sweat.  Multiple data sources?  Simple.  Validation?  Available

Some may argue that using something like ActiveRecord is bad because it requires you to use inheritance, and while that may be true some of the time, I don’t think it is generally true.  To me, architectural purity is only important if it makes things easier to build and maintain.  If it doesn’t, what’s the point?  I would gladly take on a bit of "impurity" in order to gain tremendous flexibility.  No more shall I fear a change in requirements that will lead to database changes!