HaterAide ORM Updated to 1.5


I've been silent for a while now, mainly because of this update. I've been working day and most nights (when I'm not replaying Dragon Age) to get this done. Basically during development of a project at work, I became annoyed with my ORM. Specifically I was annoyed at the fact that it didn't automatically update my database structure like I wanted when I made a change to my object mappings. So I spent time making it do just that. And while I was at it I decided to add a couple other things that would be nice, such as:

  • Foreign keys are now added to the tables to ensure referential integrity.
  • Automatic updates to the database based on changes in the object mappings (only adds columns, foreign keys, etc. The only items that are dropped and recreated are stored procedures, functions, views, and triggers that the ORM creates).
  • Added support for more CLR data types (all IEnumerables, etc. should map now but I'm still being testing that out).
  • Better naming conventions for tables, columns, stored procedures, etc.
  • Optimized compared to earlier builds.
  • Audit tables and triggers are now automatically generated (tracks changes to each table and whether the item was an insert, update, or delete).
  • Stored procedures are automatically generated to allow you to search on a foreign key.
  • Code is no longer dependent on ASP.Net and can be used in a windows app.

I'm still working on composite keys, primary keys that are not ints or GUIDs (although this is pretty close to working at this point), multiple databases (both in terms of different database types and allowing more than one database connection at a time), other sources that are not databases (Active Directory, XML, etc.), and a number of other things. Anyway, take a look at the code here, leave feedback, and happy coding.