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

ASP.NET Discussion :

Entity FrameWork ForeignKey [Débutant]


Sujet :

ASP.NET

  1. #1
    Membre éprouvé
    Avatar de Pelote2012
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    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
    Billets dans le blog
    2
    Par défaut Entity FrameWork ForeignKey
    Bonjour

    J'ai un schéma edmx avec Deux tables: MiseADispo et Fichier
    Avec le lien : 1 MiseADispo peut avoir plusieurs fichiers et un fichier ne peut avoir qu'une MiseADispo

    En base tout ce rempli correctement.

    par contre quand je fait MiseADispo.Fichier, il ne me retourne rien dans la collection, or en base les champs sont correctement remplis.

    Je suis en .net 4.0 et j'utilise le générateur de code POCO

    Quelqu'un aurait une idée d'où ça pourrait venir?

  2. #2
    Membre éprouvé
    Inscrit en
    Septembre 2007
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 137
    Par défaut
    Est ce que tes tables ont une primary key ?

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Par défaut
    Comment fais tu pour récupérer MiseADispo ? Récupères-tu ses dépendances avec Fichier ?

    Si tu ne le récupère pas il est peut être normal qu'il soit null
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  4. #4
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,

    Un peu de code serait bienvenu. Il y a ce post aussi: http://blog.developpez.com/bdevuyst/...et-les-constr/. Une piste?

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  5. #5
    Membre éprouvé
    Avatar de Pelote2012
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    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
    Billets dans le blog
    2
    Par défaut suite
    Mes tables ont toutes une clé primaire sur un champs ID de forme guid

    Sinon je récupére mes infos directement sur la BDD:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     obj = HelperMiseADispo.MaDById(IDMaD)
    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
     
    Imports Microsoft.VisualBasic
    Imports GlobalVar
     
    Public Class HelperMiseADispo
     
        Public Shared Function MaDById(ByVal Id As Guid) As MiseADispositionJeu
            Try
                Return (From mad In LesDatas.MiseADispositionJeu Where mad.ID = Id Select mad).Single
            Catch ex As Exception
                Return Nothing
            End Try
        End Function
     
    End Class
    GlobalVar.vb
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Imports Microsoft.VisualBasic
     
    Public Class GlobalVar
        Public Shared LesDatas As New FileTransfertEntities 
    ' FileTransfertEntities  = Nom du conteneur d'entité
    End Class
    obj est bien de la forme MiseADispo car tous les champs que j'affiche sont bons
    Le seul problème est apparement la liaison avec la table Fichier

    Mon appel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    rptFichier.DataSource = obj.FichierJeu
    rptFichier.DataBind()
    passe par le get d'une fonction générée par POCO mais _fichier Isnot Nothing mais est vide collection.count=0 quand je fait "espion express"

    Le générateur POCO:
    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
    21
    22
    23
    24
     
     Public Overridable Property FichierJeu As ICollection(Of FichierJeu)
            Get
                If _fichierJeu Is Nothing Then
                    Dim newCollection As New FixupCollection(Of FichierJeu)
                    AddHandler newCollection.CollectionChanged, AddressOf FixupFichierJeu
                    _fichierJeu = newCollection
                End If
                Return _fichierJeu
            End Get
            Set(ByVal value As ICollection(Of FichierJeu))
                If _fichierJeu IsNot value Then
                    Dim previousValue As FixupCollection(Of FichierJeu) = TryCast(_fichierJeu, FixupCollection(Of FichierJeu))
                    If previousValue IsNot Nothing Then
                        RemoveHandler previousValue.CollectionChanged, AddressOf FixupFichierJeu
                    End If
                    _fichierJeu = value
                    Dim newValue As FixupCollection(Of FichierJeu) = TryCast(value, FixupCollection(Of FichierJeu))
                    If newValue IsNot Nothing Then
                        AddHandler newValue.CollectionChanged, AddressOf FixupFichierJeu
                    End If
                End If
            End Set
        End Property
    Rad Hass comment fait-on pour Récupèrer les dépendances avec Fichier ?

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Par défaut
    Soit en récupérant les Fichier attendu dans le même context et du coup les objets seront automatiquement lié à MiseADispo. Soit en utilisant la fonction Include voir ici : msdn
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  7. #7
    Membre éprouvé
    Avatar de Pelote2012
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    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
    Billets dans le blog
    2
    Par défaut Merci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Public Shared Function MaDById(ByVal Id As Guid) As MiseADispositionJeu
            Try
                Return (From mad In LesDatas.MiseADispositionJeu.Include("FichierJeu.DestinataireJeu") Where mad.ID = Id Select mad).Single
            Catch ex As Exception
                Return Nothing
            End Try
        End Function
    J'ai corrigé comme cela car j'ai besoin de rebondir sur une 3eme tablz=e encore, et ça marche du tonnerre, grand merci

+ 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