The realtionship started off well.  Now were undergoing a messy divorce.

Nhibernate - it seems to answer so many problems.  Unfortunately it creates a whole slew of new ones.

For anyone embarking on building SERIOUS applications then beware, it ain't a silver bullet to the problem of OR impedance.  Soft deletes in most applications (especially financial applications that we do) are often a big requirement (the FSA is a hard taskmaster).  NHibernate just can't cope with these.  Well, thats not strictly true - it can cope as long as you dont have ternary relationhips between objects, if you do, then your stuffed.

The recomended way is to hook into the delete event listener, which you can, but it will leave your relationship tables untouched and when you do a select then your 'deleted' object will arise 'a la Lazarus' to make you like like a clown to your clients.

Thankfully been a bunch of geniuses we rolled our own OR solution which will work on the web, pda's and the desktop and it fits into a lovely dll.  NHibernate is a great idea and useful for basic apps but a poor implementation for serious development.

Avoid.

 


Another day, another web horror story.

The problem with the web is that any fool with a copy of dreamweaver and the ability to spell can now jump on the web 2.0 bandwagon.  What's even more worrying is when these people start to move into actual programming.  Unfortunately as a professional company we get to deal with the fallout of this.

Today we had the unfortunate experience of explaining to a hardworking, honest company that what they had didn't work, wouldn't work and looking at the overall package couldn't ever work for them.

Thousands of pounds spent, thousands of pounds in lost labour and hundreds of hours wasted, all because they made the wrong choice for their development partner.  The world of web development and programming needs a standard for its people, something like crufts for geeks.

Today we we're reminded of a now famous quote in our office. "A professional is expensive,  an amateur will cost you a fortune".


Sapere Software Blog

Software Development, .NET and Other Stuff