Alessandro
Alessandro

Reputation: 3760

Should I go ahead with my self-made ORM?

this is my first question on Stack Overflow, so thank you in advance for your help! :)

In the past two years I developed a self-made .NET ORM that I use in some small-to-medium projects. Its main features are:

Now I'm at a crossroads: I have to decide if going ahead with my solution and implementing other features like concurrency control or declaring it dead and starting with an existing solution like nHibernate.

I'm the kind of guy who likes to ever roll-his-own reinventing-the-wheel and so on... :)

Am I missing something? Is this the moment to start walking on a safer path?

Thank you very much and sorry for my basic English.

Alessandro

Upvotes: 1

Views: 202

Answers (1)

Adam Robinson
Adam Robinson

Reputation: 185643

I'm the kind of guy who likes to ever roll-his-own reinventing-the-wheel and so on... :)

Another name for this is software developer. From time to time, we all like to create our own solutions to problems that have been solved. Data access is one of those areas where people continue to create their own solutions for various reasons (some more legitimate than others).

The fact of the matter, though, is that once you get to the point that you need things like concurrency control and other advanced features, you should give serious consideration to adopting one of the more mature ORM's, be it NHibernate, the ADO.NET Entity Framework, or another solution. This is doubly true if this is your job and not just a hobby; spending time reinventing what is established and stable is wasting your employer's money.

No matter how good the one you have is now, maintaining it yourself just isn't a practical or wise endeavor. You have a two real options:

  1. If your ORM is just brain-meltingly awesome, then open it up to the community and see what the response is. If you get other like-minded individuals helping, it can become practical. Who knows; it might be the next NHibernate. Just bear in mind that your employer (if this is your job) likely has zero interest in helping the community and is more interested in your making software that works. Also realize that if your ORM was developed on company time, then you may not have the right to open it to the community
  2. Just switch to a mainstream ORM.

Upvotes: 5

Related Questions