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

Silverlight Discussion :

update coté serveur ne fonctionne pas


Sujet :

Silverlight

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    876
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 876
    Points : 491
    Points
    491
    Par défaut update coté serveur ne fonctionne pas
    Bonsoir,

    J'essaie de faire un update de countryTbl:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    [Invoke()]
            public string UpdateCountry(CountrysTbl currentCountrysTbl)
            {
     
                try
                {
     
                    CountrysTbl originalCountry = this.ChangeSet.GetOriginal(currentCountrysTbl);
     
                    if ((currentCountrysTbl.EntityState == EntityState.Detached))
                    {
                        if (originalCountry != null)
                        {
                            this.ObjectContext.CountrysTbl.AttachAsModified(currentCountrysTbl, this.ChangeSet.GetOriginal(currentCountrysTbl));
                        }
                        else
                        {
                            this.ObjectContext.Attach(currentCountrysTbl);
                        }
                    }
    Mon problème c'est que
    = this.ChangeSet.GetOriginal(currentCountrysTbl);
    retourne null.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    876
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 876
    Points : 491
    Points
    491
    Par défaut
    petite information supplémentaire, pour appeler ma fonction, je fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     InvokeOperation<string> iopUpdate = _ctx.UpdateCountry(_country);
                iopUpdate.Completed += new System.EventHandler(iopUpdate_Completed);
    Au moment de cet appel, j'ai bien _country.hasChanges qui vaut "true".

    Mais quand j'introspecte "currentCountrysTbl" dans ma fonction "UpdateCountry", je n'ai plus cette notion de HasChanges.

  3. #3
    Membre régulier
    Homme Profil pro
    Programmeur PHP
    Inscrit en
    Août 2009
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Israël

    Informations professionnelles :
    Activité : Programmeur PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2009
    Messages : 244
    Points : 114
    Points
    114
    Par défaut
    Salut,
    Si tu a réponse à ton problème, ecris s'il te plait la solution.
    Il semblerai que j'ai la meme erreur que toi.
    J'en ferai de meme si je touve...
    Merci

  4. #4
    Membre régulier
    Homme Profil pro
    Programmeur PHP
    Inscrit en
    Août 2009
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Israël

    Informations professionnelles :
    Activité : Programmeur PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2009
    Messages : 244
    Points : 114
    Points
    114
    Par défaut
    Salut,
    J'ai resolu mon probleme.
    En ce qui me concerne, cela été du au fait que l'element que je cherchais a mettre a jours contenait une foreign key.
    Lorsqu'il y a une foreign key, il semble que la table (dans sa globalité) est imbriquée en son sein.
    J'ai donc mis a null la "table" imbriquée, et je ne lui ai donné que l'id.

    Je pense ne pas avoir été tres claire donc je vais expliquer par un exemple plus concret.

    Admettons que j'ai une table s'appelant produits.
    Cette table contient une clée etrangere vers une autre se nommant Categories.
    (Un, ou plusieurs produits peuvent apartenir a une certaine categorie).
    Dans cette meme table categorie, j'ai 2 elements (par ex: chaussure et chemise)

    Si l'element que je veut mettre a jour est une chaussure, je n'ai qu'a lui donnée l'ID de chaussure et le lien se ferra. Pour ca il faut "eliminer" le lien deja existant et en faire un nouveau.
    Possible qu'il existe d'autre solutions pour s’arranger avec le problème de clées étrangeres, mais en ce qui me concerne je suis vraiment nul en BDD et je prefere (pour l'instant) arranger ca coté client.

    J'espere que ca t'aidera.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    876
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 876
    Points : 491
    Points
    491
    Par défaut
    Salut,

    Merci pour ta réponse (et de l'avoir publiée), malheureusement ce n'est pas mon problème car j'ai délibérément supprimer les Foreign Keys de la table que je souhaite mettre à jour.

    Mon souci, c'est que je n'arrive pas à faire un "Update" coté serveur (alors que j'y arrive coté client)

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/03/2014, 10h19
  2. Update imbriqué qui ne fonctionne pas
    Par Unreal Time dans le forum Requêtes
    Réponses: 8
    Dernier message: 02/07/2011, 13h44
  3. UPDATE avec jointure ne fonctionne pas sans message d'erreur
    Par EnRadeSurEclipse dans le forum Requêtes
    Réponses: 4
    Dernier message: 25/01/2010, 22h22
  4. Serveur NTP fonctionne pas
    Par kloklo55 dans le forum RedHat / CentOS / Fedora
    Réponses: 0
    Dernier message: 18/01/2010, 11h07

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