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

Entity Framework Discussion :

Synchronisation entity framework


Sujet :

Entity Framework

  1. #1
    Membre chevronné
    Avatar de Pelote2012
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 925
    Points : 1 839
    Points
    1 839
    Billets dans le blog
    2
    Par défaut Synchronisation entity framework
    Bonjour

    J'ai fais un projet asp.net framework 4.0 avec entity framework.
    Je viens de remarquer qu'il faut un certain temps pour que des modifs en BDD soient prises en compte.

    Quelqu'un saurait le temps de synchronisation entre ce qu'i met en cache et la BDD?
    Si débugger est l'art d'enlever les bugs ... alors programmer est l'art de les créer

  2. #2
    Membre chevronné
    Avatar de Pelote2012
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 925
    Points : 1 839
    Points
    1 839
    Billets dans le blog
    2
    Par défaut détails
    En fait mon problème est que mon appli met à dispo des fichiers
    et que j'ai des triatement à part dans des paquets SSIS (zippage de l'ensemble des fichiers, suppression des fichiers expirés ...) et que le SSIS met à jour aussi la BDD.
    Donc je voudrai savoir s'il y a moyen de forcer la synchro entre la BDD et la copie de la bdd de mon appli web (utilisant entity framework) mise en cache.
    ou s'il faut attendre ... attendre ...

    J'ai oublié de dire que j'ai mis en commun l'accès à mes données dans une classe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Imports Microsoft.VisualBasic
     
    Public Class GlobalVar
        Public Shared LesDatas As New FileTransfertEntities
    End Class
    Et que j'importe cette classe dans chacune de mes pages.
    Peut être est-cela le problème ... Faut-il mieux dans mes pages que j'instancie directement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dim LesDatas As New FileTransfertEntities
    Merci d'avance
    Si débugger est l'art d'enlever les bugs ... alors programmer est l'art de les créer

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par BROWNY Voir le message
    J'ai fais un projet asp.net framework 4.0 avec entity framework.
    Je viens de remarquer qu'il faut un certain temps pour que des modifs en BDD soient prises en compte.

    Quelqu'un saurait le temps de synchronisation entre ce qu'i met en cache et la BDD?
    la mise à jour des entités avec EF a toujours été fait de façon explicite en appelant la méthode context.SaveChanges(). Sans cette instruction tes modifications ne seront visibles dans le contexte et pas repercutées sur la BdD.
    Sinon qu'entends-tu par temps de synchronisation ?

  4. #4
    Membre chevronné
    Avatar de Pelote2012
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 925
    Points : 1 839
    Points
    1 839
    Billets dans le blog
    2
    Par défaut Temps de synchro
    Merci pour ta réponse

    En fait le problème est inverse. Toutes les modifs que mon appli fait sont bien prise en compte dans la BDD avec le savechange.

    Le problème est que ma BDD est mise à jour par une autre appli SSIS (SQL Server Intégration Services) et c'est ces modifs qui ne sont pas remonter dans ma 1ere appli (asp.net avec Entity F.).
    Je veux savoir ce qu'il faut faire pour que l'appli utilisant EF se synchronise de nouveau avec la BDD.
    faut-il que j'utilise tout le temps "New FileTransfertEntities" ou alors, y-a-t-il une commande pour dire de recharger les données depuis la BDD?
    Si débugger est l'art d'enlever les bugs ... alors programmer est l'art de les créer

  5. #5
    Membre chevronné Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Points : 2 227
    Points
    2 227
    Par défaut
    Un simple "Refresh()" sur ton contexte ne fait pas l'affaire ?
    One minute was enough, Tyler said, a person had to work hard for it, but a minute of perfection was worth the effort. A moment was the most you could ever expect from perfection.

    -- Chuck Palahniuk, Fight Club, Chapter 3 --

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Er3van Voir le message
    Un simple "Refresh()" sur ton contexte ne fait pas l'affaire ?
    +1.

    Reste maintenant à savoir quand déclencher l'appel à la méthode Refresh du contexte ?

    Normalement si tu essaies d'appeler la méthode SaveChanges de ton contexte et qu'il se trouve que les données ont été modifiées entre temps il y a l'exception OptimisticConcurrencyException qui se déclenche et dans le catch je pense que tu pourras déclencher l'appel à la méthode Refresh sur les entités qui sont en conflits.

  7. #7
    Membre chevronné
    Avatar de Pelote2012
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 925
    Points : 1 839
    Points
    1 839
    Billets dans le blog
    2
    Par défaut merki


    En fait je met à jour qu'une seule info avec l'appli SSIS, que j'utilise qu'à un seul endroit (savoir si le zippage à été fait ou pas)
    Et en plus je ne fais que de la lecture à cet endroit donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     obj = HelperMiseADispo.MaDById(IDMaD) 'Recup la bonne miseADispo
      LesDatas.Refresh(Data.Objects.RefreshMode.StoreWins, obj)
    ça marche maintenant
    Je vais voir si dans mon appli, j'ai besoin de faire des refresh dans des try catch, mais au moins maintenant je sais la commande

    merci encore
    Si débugger est l'art d'enlever les bugs ... alors programmer est l'art de les créer

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/08/2008, 10h36
  2. ADO.NET Entity Framework, Astoria, Silverlight -> .NET 3.5 ?
    Par rad_hass dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 08/07/2008, 16h01
  3. version final d'Entity framework
    Par korchimustapha dans le forum Général Dotnet
    Réponses: 8
    Dernier message: 04/07/2008, 17h21
  4. [ADO.NET Entity Framework] génération des tables
    Par anthyme dans le forum Accès aux données
    Réponses: 3
    Dernier message: 22/02/2008, 17h44
  5. Linq - Entity Framework
    Par Jfrancois57 dans le forum Framework .NET
    Réponses: 11
    Dernier message: 12/02/2008, 08h06

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