La raison la plus importante pour utiliser un ORM est de sorte que vous pouvez avoir un riche, orienté-objet, modèle d'affaires, et être encore capable de stocker et d'écrire des requêtes efficaces rapidement contre une base de données relationnelle. De mon point de vue, je ne vois pas d'avantages réels d'une bonne ORM vous donne quand en comparaison avec d'autres généré DAL autres que les avancées types de requêtes que vous pouvez écrire.
Un type de question je pense est un polymorphe de la requête. Un simple ORM requête peut sélectionner toutes les formes dans votre base de données. Vous obtenez une collection de formes à l'arrière. Mais chaque instance est un carré, un cercle ou un rectangle en fonction de ses discriminateur.
Un autre type de requête serait celui qui ardemment récupère un objet et un ou plusieurs des objets ou des collections dans une seule base de données téléphonique. par exemple, Chaque forme de l'objet est retourné avec son sommet et le côté collections peuplée.
Je suis désolé d'être en désaccord avec beaucoup d'autres ici, mais je ne pense pas que la génération de code est un bon une raison suffisante en soi pour aller avec un ORM. Vous pouvez écrire ou trouver de nombreux bons DAL modèles de générateurs de code qui n'ont pas le conceptuel ou des performances qui ORM ne.
Ou, si vous pensez que vous n'avez pas besoin de savoir comment écrire de bons SQL à utiliser un ORM, encore une fois, je suis en désaccord. Il pourrait être vrai que du point de vue de l'écriture unique de requêtes, en s'appuyant sur un ORM est plus facile. Mais, avec l'ORM est qu'il est beaucoup trop facile de créer de la mauvaise exécution de routines lorsque les développeurs ne comprennent pas comment leurs requêtes de travailler avec l'ORM et le SQL qu'ils traduisent.
Avoir une couche de données qui fonctionne à l'encontre de plusieurs bases de données peuvent être un avantage. Ce n'est pas celui que j'ai eu à compter sur qui, souvent, cependant.
En fin de compte, je dois préciser que dans mon expérience, si vous n'êtes pas en utilisant le plus avancé des fonctionnalités de requête de l'ORM, il y a d'autres options qui permettent de résoudre les problèmes en suspens avec moins d'apprentissage et de moins en moins de cycles de PROCESSEUR.
Oh oui, quelques-uns des développeurs de faire le travail avec l'ORM pour être amusant ORM sont également de bon de la garder-votre-développeurs-heureux de la perspective. =)