My Opinion on ORMs

Articles, Blog, Others

Before I learned about the use of an ORM (Object-Relational Mapping), I handled all interactions with the database through either stored procedures or building a query and setting up parameters. It was not the most exciting part of development. When I was introduced to NHibernate, an ORM for .net based on Hibernate, an ORM for java, I jumped right in and started bringing it into my projects. There are hundreds of different ORMs. The goal of most ORMs is to abstract interactions with the database, support multiple databases, and handle mapping. Some implementations also extend the base database functionality by adding caching, lazy loading, and bulk operations, to name a few. The most common denominator of these ORMs is that they generate SQL statements for you. Some do this through their own query language which could be string-based (HQL), or through methods that build the request internally. In the past few years, I have completely moved away from using ORMs in my personal projects and when I have to work with ORMs, I am very cautious. I know SQL well enough to know what good SQL looks like. I’m also always having to work extra hard to ensure that the...

Introductions

Blog, Others
Featured Video Play Icon

Devsplained? What? Although it’s a made-up word I came up with, it represents what this project hopes to accomplish. The goal of this project is to help mentor you and others on what the real world of software development consists of. All explained through both positive and negative experiences I’ve had along my own journey. This project will consist of two major elements working in harmony and discord. The core element will be the episodes published on YouTube. This blog will act as the second element. Working together, an episode will explain the subject matter I hope to present and explain, and the blog will back up the episodes with additional thoughts and greater expansion on the subject of the episode. At the end of this series (if there even is one), my hope is that you will understand the core aspects of what professional, “real world” development looks like. But first, let me introduce who I am. How do you introduce yourself to the development community at large? It’s kind of a strange concept, but it is one that we should all be familiar with. Remember your first day of school? Well, I know I don’t, but from that...