Mafbinderhelper : une classe pour binder automatiquement vos classes sur vos requêtes

Description

Lassé de devoir écrire à la main le résultat de mes requêtes sur mes objets métier, j'ai créé cette classe qui se charge de tout toute seule...
En prime, elle est capable de construire les 4 requêtes de base (SELECT, UPDATE, DELETE, INSERT) toute seule.

Comment ça marche ?

En bien pour faire simple, vous devez tagger les classes représentant vos objects métier avec des attributs [MafTableBinding] et [MafColumnBinding]... ensuite, vous instanciez un binder via la classe générique Binder<T>... après, c'est tout simple :p

Source / Exemple :


// Exemple d'utilisation (à partir de la classe Comment présent dans le projet) :

DbConnection dbConnection;
Binder<Comment> commentBinder;

dbConnection = DbProviderFactories.GetFactory("System.Data.SqlClient").CreateConnection();
dbConnection.ConnectionString = @"Data Source=[...]";

commentBinder = new Binder<Comment>(this.dbConnection);

// Chargement d'une collection :
List<Comment> comments = commentBinder.GetAll();

// Chargement d'un seul commentaire :
Comment comment;
PrimaryKeyParameters pkp = commentBinder.GetPrimaryKeyParameters();
pkp["@comments_id"].Value = 999;
comment = commentBinder.GetSingle(pkp);

// Suppression d'un commentaire
commentBinder.Delete(comment);

// Modification d'un commentaire
comment.Commentaire = "Bla bla...";
commentBinder.Update(comment);

Conclusion :


Cette classe est succeptible d'être modifiée aux gré des optimisations que je pourrais à faire.

Codes Sources

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.