Bon .NET ORM Framework qui prend en charge OleDb et les procédures stockées?

StackOverflow https://stackoverflow.com/questions/118248

  •  02-07-2019
  •  | 
  •  

Question

Une procédure stockée typique de notre système accepte environ 20 paramètres environ. Il n'y a aucune chance de refactoriser ces procédures stockées non plus. En gros, j'ai eu recours à l'écriture de mon propre générateur de code, qui encapsule ces SP dans (agnostique du fournisseur de base de données) " Command " objets, avec leurs propriétés publiques correspondant aux paramètres SP. Cela fonctionne, mais je préférerais une solution tierce essayée et testée.

Quelqu'un peut-il recommander quelque chose? Je n’en ai trouvé aucun qui prenne en charge OleDB et les procédures stockées.

Edit: J'ai besoin de la connectivité OleDb à cause de SQL 6.5 (croyez-le ou non). ADO.NET ne peut pas se connecter à SQL 6.5. En outre, il s’agit d’une application .NET 2.0; par conséquent, LinqToSql ne m’aide en rien.

Edit2: J'ai déjà essayé nHibernate et iBatis. Ni l'un ni l'autre ne convient à mes besoins. La dernière fois que j'ai essayé nHibernate, il a fallu que le SP retourne un jeu de résultats. Ce n'est pas le cas avec mes SP. Les deux nécessitent également que je spécifie manuellement les paramètres.

Était-ce utile?

La solution

J'ai de l'expérience avec 3 couches ORM:

Les trois sont libres, prennent en charge les connexions OleDb et les procédures stockées.

Subsonic - Celui-ci a été conçu spécifiquement pour les applications Web. Cela imite beaucoup de ce que fait Ruby On Rails. Ils ont juste ajouté des migrations. Subsonic est le plus léger des trois. C'est un peu plus difficile à utiliser pour Winforms, mais pas aussi fort que je le pensais. Il est livré avec un outil d'interface utilisateur agréable pour générer le code et maintenir les paramètres de base de données. C'est le seul qui prend en charge différentes bases de données. Je l'ai utilisé avec SQLite, SQL Server CE et SQL Server.

CSLA.NET - Celui-ci peut gérer à peu près toutes les technologies nouvelles et brillantes .NET. Je sais que l'auteur vient d'ajouter un support pour WCF, WPF et Silverlight. C’est ce que j’utilise lorsque j’ai besoin de travailler très lourd avec des applications de type entreprise. Il comporte de nombreuses fonctionnalités intéressantes, telles que l'annulation illimitée d'objets, la possibilité de marquer des collections en lecture seule et la possibilité de déplacer et d'ancrer des objets où bon vous semble. C’est ce qui se rapproche le plus de ce que JBoss fait sur Java.

Net Tiers - Je ne suis pas un grand fan, mais le travail sera fait. Il est plus léger que l'AAPC, mais toujours plus lourd que le Subsonic.

Je voudrais également mentionner NHibernate , Enregistrement actif du château et Microsoft Enterprise Bibliothèque . Cependant, je n’ai pas beaucoup d’expérience dans ce domaine.

Autres conseils

D'après ce que j'ai entendu dire, le framework ADO .NET Entitry ne prend que peu en charge les procédures stockées ... LINQ2SQL vous permet de le faire fonctionner, mais peut nécessiter un type de classe proxy ... NHibernate et IBatis sont votre meilleur pari ...

Alternatives:

  1. LINQ to SQL
  2. ADO.NET Entity Framework
  3. NHibernate
  4. votre choix
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top