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

NHibernate Discussion :

Update Id in Nhibernate.


Sujet :

NHibernate

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Juillet 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 9
    Par défaut Update Id in Nhibernate.
    Salut

    Je travaille avec NHibernate et j'aimerai modifier la clé primaire d'une table.

    Le schéma du fichier mapping est le suivant :
    <?xml version="1.0" encoding="utf-8" ?>
    <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="nFormatin">
    <class name="nFormation.Devise, nFormation" table="T_DEVISE">

    <id name="clsDevise" unsaved-value="1" access="property">
    <column name="deDevise" sql-type="nvarchar(4)" not-null="false"/>
    <generator class="native"/>
    </id>

    <property name="clsDesignation" type="String" >
    <column name="deDesignation" sql-type="varchar(20)"/>
    </property>

    <property name="clsPays" type="String">
    <column name="Pays"/>
    </property>
    </class>
    </hibernate-mapping>
    j'aimerai modifier la clé primaire en utilisant un objet session

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    private void btnModifierId_Click(object sender, EventArgs e)
    {
    ISession s = NhibernateSessionFactory.openSession();
    Devise de = (Devise)s.Load(typeof(Devise), txtAncien.Text);
    de.clsDevise = txtDevise.Text;
    de.clsDesignation = txtDesignation.Text;
    de.clsPays = txtPays.Text;
    s.Flush();
    }
    A l'exécution l'erreur suivant est affichée :

    identifier of an instance of nFormation.Devise altered from DH (System.String) to pp (System.String)
    Merci par avance.

  2. #2
    mow
    mow est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 210
    Par défaut
    Bonjour,

    Je n'ai pas de réponse à ta question mais pour mieux comprendre ton problème j'aimerais te poser une question :
    Pourquoi mettre à jour l'id (clé primaire) de ta table ?

    Enfin, si c'est bien cela que tu cherches à faire voilà ce que je te propose :
    - créer une copie de l'enregistrement à mettre à jour - ainsi tu obtiendras un nouvel id et tu supprimes l'enregistrement "doublon"....
    - supprimer l'enregistrement original

    Mow

    PS : J'attends quand même une réponse à ma question

Discussions similaires

  1. [C#][NHibernate] Cascade update/delete
    Par MacReiben dans le forum NHibernate
    Réponses: 2
    Dernier message: 18/03/2011, 11h43
  2. Réponses: 0
    Dernier message: 12/03/2009, 16h16
  3. [dBase]il y a mieux que la commande sql UPDATE ?
    Par sana72 dans le forum Autres SGBD
    Réponses: 4
    Dernier message: 12/12/2002, 11h59
  4. Réponses: 3
    Dernier message: 10/11/2002, 11h03
  5. update et virgule
    Par Delph dans le forum Bases de données
    Réponses: 8
    Dernier message: 27/08/2002, 14h40

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