IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Dotnet Discussion :

charger puis exposer des objets avec un ORM


Sujet :

Dotnet

  1. #1
    maa
    maa est déconnecté
    Membre actif
    Avatar de maa
    Inscrit en
    Octobre 2005
    Messages
    672
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Octobre 2005
    Messages : 672
    Points : 288
    Points
    288
    Par défaut charger puis exposer des objets avec un ORM
    Je voudrais charger des objets avec un ORM. Les objets en question sont exposé dans une classe static "Global" (ou un singleton).
    A votre avis, est-ce que c'est le role de la classe "Global" de charger les données. J'utilise pour le moment nhibernate et je me demande si c'est à cette classe d'instancier la session, la transaction, de récupérer les données via des requêtes hql et de soumettre les changements à la bdd.
    D'un côté je me dis que c'est la mieux placée pour charger les données quand il le faut. Par exemple mettre les requête hql dans les accesseurs get des propriété et charger les données si le champ correspondant est null.
    Mais d'un autre côté, je me demande si c'est vraiment le rôle de cette classe que de charger les données.

    Merci d'avance pour vos conseils.
    ****************************************

    - I don’t write plumbing code anymore
    - I use PostSharp
    - And you?


    ****************************************

  2. #2
    Membre averti

    Inscrit en
    Septembre 2004
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 105
    Points : 339
    Points
    339
    Par défaut
    Moi, j'ai une classe "Persisteur" qui s'occupe d'abstraire l'accès à la base de données via NHibernate. C'est assez similaire à ta classe Global.

    Pour plus de détails, lit cet article. A part que mon Persisteur as la sessionFactory en static et crée une session dans son constructeur (au lieu de la créer dans chaque méthode).

  3. #3
    Inactif
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Algérie

    Informations forums :
    Inscription : Juillet 2009
    Messages : 59
    Points : 73
    Points
    73
    Par défaut Lequel Choisir?
    bonjour,
    je suis développeur dans une boite qui vient d'acheter les licences pour devexpress. et il se trouve que DevExpress ont un component qui s'appelle XPO= eXpress Persistent Object. Ceci me mène à ma question : "Avec l'ensemble grandissant d'implémentations d'ORM (et qui continueras de s'agrandir comme stipulé dans ton livre) quel est les mesures ou paramètres à prendre en compte pour choisir parmi eux?" merci.

  4. #4
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    Salut,

    de ce que j'ai vu d'XPO, ca ressemble à un générateur de DAL (Subsonic, MyGeneration) plus qu'à un ORM (NHibernate, EF, LightSpeed ORM)

    quel est les mesures ou paramètres à prendre en compte pour choisir parmi eux
    En attendant que Pierre Henri te répondes, mes 2 cts.

    Pour choisir un outil de mapping (avancé ou pas), il faut avant tout voir comment on va l'utiliser...

    Quel est l'architecture ciblée ?
    Quelle est la complexité métier des projets ?
    Quel est le niveau de compétence de l'équipe ?
    Quel est le "budget" que la société peut se permettre en terme de formation ?

    Si on part sur un projet simple, sur lequel on maitrise la base de données, avec une équipe moyenne et un budget faible, ca peut valoir le coup d'aller au plus simple, et d'utiliser XPO.

    Si on part sur des projets plus complexes (architectures distribuées, "conversations"), ou sur des méthodologies qui s'y prétent (domain-first, TDD, BDD...), il vaut mieux partir sur un ORM qui tiendra la charge (NHibernate, la dernière version d'EF , LightSpeed, p-e Evaluant ? )

    Dans mon cas actuel, on est parti sur Subsonic, car on fait majoritairement des applis qui bidouillent de la base de données et des sources de données hétérogènes, mais le choix est différent pour chaque équipe

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  5. #5
    Inactif
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Algérie

    Informations forums :
    Inscription : Juillet 2009
    Messages : 59
    Points : 73
    Points
    73
    Par défaut Tout Depend de tout !!
    Bonjour et merci pour la réponse ...
    Tout dépend de tout finalement ...
    Pour l'XPO c'est vrai que c'est pas une vraie implémentation d'ORM. Dans leur documentation officielle, ils racontent que c'est un ORM mais sur leur site (support Clientèle), un de leurs développeurs l'a, clairement, écrit (noir sur blanc) que c'est pas un ORM.

    Puis le problème avec XPO aussi c'est qu'il te pousse à travailler sur l'ensemble de la technologie DevExpress. Ceci n'est pas un mal en soi. Le soucis majeur est que la documentation de DevExpress ressemble à un rapport de stage bâclé à l'approche du congé .... XPO est très utile quand il est utilisé avec les autres composants (qui sont très bons) du genre XtraGrid....

    Quand il s'agit de l'utiliser dans un autre contexte avec des technologies standards de Microsoft ... la c'est a panique ...
    Exemple: je travaille sur un logiciel de comptabilité (Client-Server) ou j'utilise WCF pour la communication .... pour utiliser XPO avec WCF c'est très risqué et très lourd car cela ne fait pas longtemps qu'ils ont considéré l'alternative. De ce fait, je veux envoyer un objet Ado.Net au endPoint WCF. Et pour convertir l'objet XPO en objet ADO c'est à s'arracher les cheveux ...cela a été fait exprès de la part de DevExpress (j'invente rien passez sur leur site et vous trouvez la réponse de leur team)...

    C'est pour tout ça que je voulais voir si l'herbe était plus verte chez les voisins ...

  6. #6
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    hmmmm..... qui a dit "vendor lock-in" ???

    En fait, de ce que tu dis, le plus simple me semble etre décrire un convertisseur de XPO vers datatable...

    Eventuellement, tu devrais pouvoir t'en tirer avec de la reflection

    (perso, je n'ai jamais travaille avec devexpress, pas assez de sousous )

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  7. #7
    Inactif
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Algérie

    Informations forums :
    Inscription : Juillet 2009
    Messages : 59
    Points : 73
    Points
    73
    Par défaut oui
    Oui exactement c'est ce que j'ai fait... (pas sans peine) mais c'est fait. La je suis entrain d'implémenter Mon DAL avec xpo (la partie la plus plaisante du boulot). J'ai fait une petite recherche sur le net à propos de SubSonic et Hibernate (comparaison). Il parait que SubSonic est mieux.... reste à confirmer ... Quand je terminerai le projet que j'ai au four ..je vais tester tout ça ... et quand ça sera fait j'éditerai un Texte Complet sur le sujet dans cette rubrique.

  8. #8
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    Citation Envoyé par buxus Voir le message
    J'ai fait une petite recherche sur le net à propos de SubSonic et Hibernate (comparaison). Il parait que SubSonic est mieux....
    Hola, malheureux, dis pas ca,la mafia NHibernate va venir te casser les genoux

    NHibernate est plus puissant, plus extensible mais plus difficile a configurer.
    Subsonic est plus rapide a mettre en oeuvre, et pour des arborescences d'objets proches de la base de donnees (genre, une table <-> un objet)

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  9. #9
    Inactif
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Algérie

    Informations forums :
    Inscription : Juillet 2009
    Messages : 59
    Points : 73
    Points
    73
    Par défaut ils aurons affaire aux miens
    t'inquiètes chacun son gang ...
    j'ai trouvé des gens qui disent le contraire .. enfin c'est pour cela que j'ai dit
    Il parait
    Enfin je verrai quand même avec la comparaison ... se sacrifier pour une bonne cause

  10. #10
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    Si tu as besoin de billes, n'hesites pas, mon buffer d'articles est plein, mais je dois pouvoir donner un coup de main (de pied ?) par ci par la

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  11. #11
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 96
    Points : 48
    Points
    48
    Par défaut
    Bonjour Buxus,

    Je suis étudiant en alternance et je dois mettre en place une nouvelle DAL dans l'entreprise ou je travaille.
    Je vais normalement utiliser XPO avec le Compact Framework (car c'est utilisé pour de la domotique, donc de l'embarqué).

    Auriez vous eu des problèmes de développement vraiment contraignant avec XPO ?
    De plus, quelle architecture avez vous mis en place ? Je ne comprends pas trop les limites d'XPO.

    Je ne sais pas s'il est utile de faire une surcouche avec les opérations de CRUD, ou si je dois utiliser directement les objects XPO tel que les XPCollection.

    Pourriez vous m'aiguiller ?

    Je vous remercie de votre future réponse,

    Sylvanocry

Discussions similaires

  1. [EntLib4] déclaration des objets avec Unity
    Par cyrille37 dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 24/03/2009, 23h34
  2. Pinner des Objets avec DBMS_SHARED_POOL
    Par ilalaina dans le forum Administration
    Réponses: 2
    Dernier message: 15/11/2007, 11h03
  3. Placer des objets avec swing
    Par crossbowman dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 22/08/2007, 23h05
  4. Créer des objets avec Java Monkey Engine
    Par ToTo13 dans le forum 3D
    Réponses: 3
    Dernier message: 31/07/2007, 15h06
  5. [FLASH] Déplacement des objets avec clavier ???
    Par 3adoula dans le forum Flash
    Réponses: 1
    Dernier message: 07/01/2006, 01h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo