Soyez le premier à donner votre avis sur cette source.
Vue 8 860 fois - Téléchargée 691 fois
//Generation du mapping de la table PERSONS ET ORDERS /*------------------------------------------------------*/ //Creation de la connection System.Data.SqlClient.SqlConnection connection = new System.Data.SqlClient.SqlConnection("Data Source=.;Initial Catalog=TestOrm;Integrated Security=True"); ZeBobo5.LibraryHelper.Core.Sql.SqlHelper.AddConnection("connection", connection); //Generation du mapping ZeBobo5.LibraryHelper.Orm.OrmDataElementGenerator.Generate("connection", "PERSONS"); ZeBobo5.LibraryHelper.Orm.OrmDataElementGenerator.Generate("connection", "ORDERS"); //Fermeture de la connection ZeBobo5.LibraryHelper.Core.Sql.SqlHelper.CloseConnection("connection"); // ou pour toutes les connections ZeBobo5.LibraryHelper.Core.Sql.SqlHelper.CloseAndDisposeAllConnections(); /*------------------------------------------------------*/ //Exemple de mapping généré pour la table PERSONS /*------------------------------------------------------*/ using System; using ZeBobo5.LibraryHelper.Orm; public class PERSONS : OrmDataElementBase<PERSONS> { public OrmValues<Int32> ID { get { return Fields.ID.Values(this); } } public OrmValues<String> NAME { get { return Fields.NAME.Values(this); } } public OrmValues<Int32> AGE { get { return Fields.AGE.Values(this); } } public OrmValues<Int32> YEAR { get { return Fields.YEAR.Values(this); } } public class Fields { public static OrmField<PERSONS, Int32> ID = new OrmField<PERSONS, Int32>("ID", 0); public static OrmField<PERSONS, String> NAME = new OrmField<PERSONS, String>("NAME", ""); public static OrmField<PERSONS, Int32> AGE = new OrmField<PERSONS, Int32>("AGE", 0); public static OrmField<PERSONS, Int32> YEAR = new OrmField<PERSONS, Int32>("YEAR", 0); } } /*------------------------------------------------------*/ //Utilisation de la DAL /*------------------------------------------------------*/ //Creation de la connection System.Data.SqlClient.SqlConnection connection = new System.Data.SqlClient.SqlConnection("Data Source=.;Initial Catalog=TestOrm;Integrated Security=True"); ZeBobo5.LibraryHelper.Core.Sql.SqlHelper.AddConnection("connection", connection); //Creation des clés étrangères ZeBobo5.LibraryHelper.OrmDatabaseSchema.AddLink( new OrmDataLink<PERSONS, ORDERS>(PERSONS.Fields.ID, ORDERS.Fields.PERSON_ID), new OrmDataLink<PERSONS, ORDERS>(PERSONS.Fields.YEAR, ORDERS.Fields.ORDERYEARDATE)); //Recuperation d'une liste de personnes OrmDataElementList<PERSONS> lstPersonnes = ZeBobo5.LibraryHelper.Orm.OrmDataFactory<PERSONS>. Select("connetion"). Where(OrmWhereFactory.Comparators<PERSONS>.LessThan(PERSONS.Fields.AGE, 25)). OrderBy(OrmOrderByFactory<PERSONS>.Asc(PERSONS.Fields.NAME)). Execute(); foreach (PERSONS item in lstPersonnes) { Console.WriteLine(string.Format("{0} a passé {1} commande(s).", item.NAME.CurrentValue, item.LinkTo<ORDERS>().Count); } //Mise à jour de données lstPersonnes[0].Name.CurrentValue = "Toto"; Console.WriteLine(string.Format("Valeur originale du NAME : {0}", lstPersonnes[0].Name.OriginalValue); Console.WriteLine(string.Format("Valeur nouvelle du NAME : {0}", lstPersonnes[0].Name.CurrentValue); lstPersonnes.SaveChanges(); ZeBobo5.LibraryHelper.Core.Sql.SqlHelper.CloseAndDisposeAllConnections();
Commentaires
Peut-être que je la réinvente, je ne vois pas trop en quoi... De toutes façon, toutes les DAL se ressemblent plus ou moins...
Cette source est destiné surtout à voir la possibilité des générics, dans une couche d'accès aux données assez simple, en Framework 2.0, sans paramètrage (à part la ConnectionString).
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.